将IDENTITY_INSERT与EF4一起使用

entity-framework identity-insert

我试图在db中创建一个具有预定义主键值的记录。我知道如何用sql做这个,但我想知道EF是否可以为我做这个?否则,我将不得不为插入创建存储过程。

一般承认的答案

如果您的实体的StoreGeneratedPattern属性设置为“None”,则为其指定的Entity Key值将传递给数据库。

如果将此属性设置为“Identity”“Computed” ,则无法控制将在DB中为此列设置的值。

因此,如果数据库中有一个自动递增的列,并且ADO.NET实体数据模型向导已为您设置了StoreGeneratedPattern ,则可以使用XML编辑器在模型的SSDL部分中手动将此属性更改为“无” ,然后启用IDENTITY_INSERT

如果使用EF4或使用ObjectContext.Connection.StoreConnection属性执行SQL命令SET IDENTITY_INSERT <Your_Table> ON (在EF1和EF v4中),则可以使用ObjectContext.ExecuteStoreCommand方法。



许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因