2

當我使用從SQL Server中創建的數據庫生成的模型在EF中創建新實體時,顯然我可以選擇設置實體的ID (主鍵),同時聲明新的實體。將主鍵值通過Linq分配給實體時出現混亂

例如,當我在我的代碼創建我的「價值」表的新實例是這樣的:

Value newValue = Value.CreateValue(int valID);

我傳遞一個數說12到有效:

Value newValue = Value.CreateValue(12);

但是當我在SQL Server中檢查Value表中的數據時,新實體的主鍵值valID被分配給非12的值,例如7.爲什麼會發生這種情況?

在此先感謝。

+2

是sql服務器中的ID字段的屬性IDENTITY設置爲true? – hcb

+0

這樣做,謝謝hcb。 –

回答

2

檢查數據庫中的主鍵是否設置爲AUTONUMBER(在企業管理器中轉到設計模式以查看錶格並檢查列屬性)。這意味着數據庫將無視您傳遞的任何值,並自行生成主鍵。

+0

是的,就是這樣。正如上面提到的hcb,valID列的IDENTITY屬性設置爲true。謝謝Jakub和hcb。 –