我在EF上发现了这个错误.

无法在表中插入标识列的显式值

Db上的列是identity increment,EF设计文件上的列StoreGeneratedPattern也是identity.似乎每次我try 保存时EF都试图插入0.

一些建议说ID保留在表中,或者删除表并重新运行脚本.

有什么 idea 吗?

以下是一些代码:

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

数据库

EF Designer

推荐答案

我以前遇到过这种情况.此错误意味着您试图将值显式分配给数据库自动分配的列.

建议:

Sql相关问答推荐

如何将资源密集型自连接转换为更快的查询?

使用来自不同深度的嵌套组的值执行计算的干净方法?

Postgres trunc_date删除一个月

按每天的最大值分组

为什么两个不同的窗口函数给出不同的排序结果?

使用Kotlin Exposed SQL DSL Select 多个值并排序

按日期时间(不包括秒)连接表

在Postgres中合并相似的表

Select 列组(按同一表格中的另一列分组)Laravel 10

从结果SQL查询中排除空值

如何用QuestDB生成蜡烛图?

Postgres SQL查询从字符串中获取邮箱地址

如何解决错误;ORA-00911:无效字符;在果朗?

替换SQL Server XML中多处出现的 node 值

如何解释 SQL Server 中的 Foxpro 语法?

SQL 根据前一天的最大值计算每天的值数

使用 SQL 计算一年中任意 3 个月期间的总成本

JSON对象查询SQL服务器

MS ACCESS 错误插入 X(...) 从 A 联合 Select ... 从 B

如何防止 SQL 中的负收入值并将其重新分配到接下来的月份?