使用visual Studio 2012 v.11 update 4 .Net 4.5.5x
我试图简单地从Gridview界面更新我的数据库中的表,我得到上述错误。 我的字段是整数自动增量标识字段,但我的PK是ID列,即GUID。 问题是为什么entityframework会尝试更新在其属性中设置为“identity”的DB中的字段?
尝试从同一网格视图控件中插入或删除同一个表上的记录时,我没有收到任何错误 tnx提前。
答案 0 :(得分:0)
有两种可能性:
第一:你不小心更新了PK。这是可能的,因为您的PK是您提到的GUID。第二名:EF假设必须为记录创建PK。
第一种方案的解决方案是跟踪过程以查看意外创建PK的位置。如果是第二种情况,请在DbContext
:
.ValueGeneratedNever(); // EF Core
Example:
entity.Property(e => e.PK).ValueGeneratedNever();
OR
[DatabaseGenerated(DatabaseGeneratedOption.None)] EF6
public GUID PK {get; set;}