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

时间:2011-08-15 10:11:26

标签: sql-server-2008 entity-framework

  

可能重复:
  How to Turn on IDENTITY_INSERT in SQL Server 2008?

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

  

IDENTITY_INSERT设置为OFF

来自应用程序。

我已经运行了查询SET IDENTITY_INSERT Database. dbo. Baskets ON

收到消息后,Command(s)已成功完成。但错误仍然发生......?

storeDB.Baskets.Add(cartItem);          
storeDB.SaveChanges();

发生在storeDB.SaveChanges();

1 个答案:

答案 0 :(得分:6)

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

enter image description here

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

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