2013-12-09 58 views
0

我們可以在沒有任何IDENTITY列和主鍵的情況下將行插入到SQL Server表中嗎?實體框架和標識列

in Entity Framework 5

+0

否 - 每個表**應該有**主鍵,並且EF強制執行此操作。 –

回答

0

實體框架需要一個主鍵。關係數據庫應該在所有表上都有主鍵。但是,您不需要身份作爲主鍵。您可以使用任何唯一值作爲主鍵。只要你填充它,Entity Framework就會接受它,當然它必須是唯一的。

使用'智能'(非身份)密鑰帶來了它自己的問題。任何數據值都可能會發生變化或更正,因此將諸如電話號碼之類的內容用作主鍵意味着您必須在數據值更改時在整個數據庫中傳播更改。