我在 EF 上遇到这个错误。
Cannot insert explicit value for identity column in table 'GroupMembers_New' when IDENTITY_INSERT is set to OFF.
Db 上的列是标识增量,在 EF 设计文件上,StoreGeneratedPattern
也是标识
。似乎每次我尝试保存时 EF 都试图插入 0。
一些建议说 ID 保留在表上或删除表并重新运行脚本。
有什么想法吗?
这是一些代码:
GroupMember groupMember = new GroupMember();
groupMember.GroupId = group.Id;
groupMember.UserId = (new UserId(group.Owner));
//groupMember.Id = _groupContext.GroupMembers.Count();
group.GroupMembers.Add(groupMember);
_groupContext.SaveChanges();
最佳答案
我以前遇到过这个。此错误意味着您正在尝试将值显式分配给数据库自动分配的列。
建议: 更新您的 edmx 文件以反射(reflect)您可能在数据库中所做的任何更改。 如果数据库自动分配该值,您应该会在设计器文件中的该属性下看到“IsDbGenerated=true”属性。如果不存在,您可以手动添加。
关于c# - Entity Framework 错误 : Cannot insert explicit value for identity column in table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173562/