C# SqlException:无法在表';配方';当IDENTITY_INSERT设置为OFF时

C# SqlException:无法在表';配方';当IDENTITY_INSERT设置为OFF时,c#,entity-framework,ado.net,C#,Entity Framework,Ado.net,错误: SqlException:当identity\u insert设置为OFF时,无法在表“Recipe”中为identity列插入显式值 Program.cs 我增加了两类“早餐”和“午餐” 可以做一个属于“早餐”的新食谱 如果我尝试添加一个新配方,我会得到错误 我的数据库设计 这应该是比萨饼 我知道这有点过时,但对于任何看到这一点的人来说 对于您的问题,您可以尝试通过打开和关闭标识插入来解决它 context.Database.OpenConnection(); try {

错误:

SqlException:当identity\u insert设置为OFF时,无法在表“Recipe”中为identity列插入显式值

Program.cs

  • 我增加了两类“早餐”和“午餐”
  • 可以做一个属于“早餐”的新食谱
  • 如果我尝试添加一个新配方,我会得到错误
  • 我的数据库设计

    这应该是比萨饼


    我知道这有点过时,但对于任何看到这一点的人来说

    对于您的问题,您可以尝试通过打开和关闭标识插入来解决它

    context.Database.OpenConnection();
    try
    {
        context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.Recipe ON");
        context.SaveChanges();
        context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.Recipe OFF");
    }
    finally
    {
        context.Database.CloseConnection();
    }
    

    您可以共享您的配方类吗?public int Id{get;set;}public string Name{get;set;}public Nullable CategoryId{get;set;}public virtual Category Category{get;set;}您可以尝试将[Key]-注释添加到您的Id中,并检查是否有帮助。我得到相同的错误:(
    context.Database.OpenConnection();
    try
    {
        context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.Recipe ON");
        context.SaveChanges();
        context.Database.ExecuteSqlCommand("SET IDENTITY_INSERT dbo.Recipe OFF");
    }
    finally
    {
        context.Database.CloseConnection();
    }