c# - Entity Framework 错误 : Cannot insert explicit value for identity column in table

标签 c# sql entity-framework

我在 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();

database

EF Designer

最佳答案

我以前遇到过这个。此错误意味着您正在尝试将值显式分配给数据库自动分配的列。

建议: 更新您的 edmx 文件以反射(reflect)您可能在数据库中所做的任何更改。 如果数据库自动分配该值,您应该会在设计器文件中的该属性下看到“IsDbGenerated=true”属性。如果不存在,您可以手动添加。

关于c# - Entity Framework 错误 : Cannot insert explicit value for identity column in table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11173562/

相关文章:

c# - 尽管有适当的 NuGet 包,为什么我仍然需要在计算机上安装 MySQL 连接器?

c# - 如何在标题下方的 Accordion 中添加箭头图像而不是标题背景?

c# - 使用 Json.net 将 json 对象反序列化为 SQL DB

c# - 如何重新排序 DataGridView 中的列?

c# - 表达式中未定义的函数 'Replace' ,是否替换?

entity-framework - DBContext 应该全局定义还是每次都显式创建?

c# - Shopify C# HMAC SHA256 OAuth 验证

sql - 获取sqlite中的百分比

MySQL 使用 Kotlin 连接表暴露错误 : "no matching primary/foreign key pair"

javascript - 如果使用单个实体,使用自动映射器对我来说效果很好