我在 EF 上收到此错误。
当 IDENTITY_INSERT 设置为 OFF 时,无法在表“GroupMembers_New”中插入标识列的显式值。
Db 上的列是标识增量,在 EF 设计文件中, StoreGeneratedPattern
也是 identity
。似乎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();
原文由 HoBa 发布,翻译遵循 CC BY-SA 4.0 许可协议
我以前遇到过这个。此错误意味着您正在尝试将值显式分配给数据库自动分配的列。
建议:更新您的 edmx 文件以反映您在数据库中所做的任何更改。如果数据库自动分配该值,您应该在该属性下的设计器文件中看到“IsDbGenerated=true”属性。如果不存在,您可以手动添加。