![](/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.