![](/img/trans.png)
[英]Entity Framework Core: Cannot insert explicit value for identity column in table
[英]Entity Framework error: Cannot insert explicit value for identity column in table
我在 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();
我在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();
我在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();
我在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();
我在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();
我在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();
我在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();
我在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();
我在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();
我在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();
我在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();
我首先使用 DB 并且该表具有标识列。 我没有使用 db-scaffolding 来生成它,我从另一个实体复制了它,并且错误地使用了这个属性。
所以
尝试检查 DBContext 类。 我收到了这个错误,问题出在这个属性“.ValueGeneratedNever()”上,我刚刚删除了它,它工作正常,
modelBuilder.Entity<TableName>(entity =>
{
entity.Property(e => e.Id)
//.ValueGeneratedNever()
.HasColumnName("ID");
});
注意:版主删除了这个答案作为重复,并留下了我的另一个答案,一个只有 sql-server 标签的问题(这是我从谷歌得到的第一个问题)。 由于这个问题有实体框架标签,所以在这里再次发布答案。
这适用于 EntityFramework Core 3.1.22。 使用错误的属性来指定外键会导致 Entity Framework 将主键降级为……其他东西。 然后,实体框架将始终尝试插入显式值,这会引发数据库异常,因为它无法插入被告知是主键且不应插入的值。
Microsoft.EntityFrameworkCore.DbUpdateException: 'An error occurred while updating the entries. See the inner exception for details.'
Inner Exception:
SqlException: Cannot insert explicit value for identity column in table 'FOO' when IDENTITY_INSERT is set to OFF.
如果您不想使用 EF 核心的自动生成主键值功能,可以将其关闭。 您可以将数据添加到主键它应该可以解决错误 - Set Identity Insert off
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int StudentId { get; set; }
将数据库生成选项设置为无对我有帮助。 您可以在此处找到更多相关信息 - https://docs.microsoft.com/en-us/ef/core/modeling/generated-properties?tabs=data-annotations
添加此行以允许 Id 列接收 1、2、3 和 4 值,而不是自动编号。
Sql("SET IDENTITY_INSERT MembershipTypes ON")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.