启用实体框架中的IDENTITY_INSERT,SQL Server 2008?

Beg*_*ner 1 entity-framework sql-server-2008

可能重复:
如何在SQL Server 2008中启用IDENTITY_INSERT?

尝试通过实体框架将数据插入SQL Server 2008数据库.我收到错误

IDENTITY_INSERT设置为OFF

从申请.

我跑了查询 SET IDENTITY_INSERT Database. dbo. Baskets ON

并收到消息命令已成功完成.但错误仍然发生......?

storeDB.Baskets.Add(cartItem);          
storeDB.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

发生在 storeDB.SaveChanges();

mar*_*c_s 6

使用标识列时,您需要确保在EDMX(实体框架)模型中正确设置了此标识.您的列应如下所示:

在此输入图像描述

是您的列设置为StoreGeneratedPattern = Identity和Entity Key = True?如果没有 - 试试吧!

当您在创建EDMX模型时存在这种情况时,这是应该自动映射的默认值.如果在创建模型后更改了SQL Server中的列并且未更新模型,则可能存在可能导致此类错误的差异.

  • 你用哪种方法?数据库优先,模型优先还是代码优先?在前两种情况下,应该有一个.edmx文件,在最后你应该用[Key] -attribute注释Basket的ID属性. (3认同)