异常无法为表中的标识列插入显式值

时间:2018-07-03 18:30:39

标签: c# .net entity-framework ef-fluent-api

使用FluentAPIautoincreamenting表的主键。

FluentAPI配置如下:

mb.ToTable("StationeryItems");
builder.HasKey(c => c.StationeryItemId);

我得到的异常:

  

无法为表中的标识列插入显式值   当IDENTITY_INSERT设置为OFF时,为“ StationeryItems”。

1 个答案:

答案 0 :(得分:2)

请尝试以下方法之一,也许它们可以解决您的问题。 DatabaseGeneratedOption

[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int StationeryItemId { get; set; }

或者:

builder.Entity<StationeryItems>().Property(t => t.StationeryItemId) 
        .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);

在EF Core中:

builder.Entity<StationeryItems>().Property(b => b.StationeryItemId).ValueGeneratedOnAdd();