![](/img/trans.png)
[英]Auto-increment on partial primary key with Entity Framework Core
[英]ASP.NET Core DB-first Entity Framework Core can not auto increment primary key
我有一個 ASP.NET 核心項目。 我在 SQL 服務器上使用數據庫優先方法,並使用 EF Core 生成了我的模型。
我希望主鍵自動遞增。 在將我的主鍵( PimId
)默認為 0 的第一個條目上,一切似乎都工作正常。但是,在第二次插入時,主鍵仍然為 0。
我的onModelCreate function
modelBuilder.Entity<ImportPim>(entity =>
{
entity.HasKey(e => e.PimId);
entity.ToTable("Import_PIM");
entity.Property(e => e.PimId)
.HasColumnName("PIM_Id")
.ValueGeneratedNever();
entity.Property(e => e.CliId).HasColumnName("CLI_Id");
entity.Property(e => e.PimAccountNumber)
.HasColumnName("PIM_AccountNumber")
.HasMaxLength(50)
.IsUnicode(false);
這是由 EF Core 生成的,我嘗試將ValueGeneratedNever()
更改為ValueGeneratedOnAdd()
但在 SQL 服務器中出現保存錯誤。
關於如何做的任何建議?
ValueGeneratedOnAdd() 應該可以工作。 如果沒有,請確保在 SQL 服務器的表中為 PimId 設置身份。
entity.Property(e => e.PimId)
.HasColumnName("PIM_Id")
.ValueGeneratedOnAdd();
您可以將其設置為身份(自動增量),如下所示:
modelBuilder.Entity<ImportPim>().Property(entity => entity.PimId).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.