將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方法。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因