2016-02-04 68 views
0

當下面的代碼運行System.InvalidCastException,實體框架與TINYINT標識列

var op = context.Operation.SingleOrDefault(x => x.Operation1 == null); 

我得到一個錯誤

System.InvalidCastException was unhandled 
    HResult=-2147467262 
    Message=Specified cast is not valid. 
    Source=System.Data 
    StackTrace: 
     at System.Data.SqlClient.SqlBuffer.get_Byte() 
    InnerException: 

我注意到,EF 6.1.3已經映射到的列運行到名稱Operation1,因爲該表也稱爲操作

表結構有

[OperationID] [tinyint] IDENTITY(1,1) NOT NULL, 
[Operation] [varchar](255) NULL 
+0

什麼是EF可以使用的最小數字整數類型? –

+0

http://stackoverflow.com/questions/12202203/using-byte-as-the-primary-key-datatype –

+0

我發現在表中的shortint和字節類型之間有一個連接,在另一個表結構中。我猜這可能與它有關。 –

回答

1
[System.ComponentModel.DataAnnotations.Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
public byte EntidadeID { get; set; }