我正在使用實體框架,並試圖在實體上使用靜態創建方法在數據庫中創建新記錄。實體框架和主鍵
特別是在DB中有一個叫做等位基因的表格,但是CreateAllele方法要求爲這個表格的PK值。
我真的需要提供嗎?是不是由自動增量PK的數據庫?
我正在使用實體框架,並試圖在實體上使用靜態創建方法在數據庫中創建新記錄。實體框架和主鍵
特別是在DB中有一個叫做等位基因的表格,但是CreateAllele方法要求爲這個表格的PK值。
我真的需要提供嗎?是不是由自動增量PK的數據庫?
如果Id
是IDENTITY
列你可以只提供一個值,當記錄id承諾(例如-1),EF將生成的密鑰進行更換。
您可以使用SQL Management Studio中,以改變標識值一列,或者您可以在您創建的腳本標識屬性。刷新你的實體圖,它應該是很好的去。
IDENTITY是您可以在桌子上設置的屬性。您只能在整個表中的一列上設置此屬性。 SQL Server將負責根據您在創建屬性時提供的種子來增加此列。
IDENTITY [ (seed , increment) ]
種子 - 是第一行加載到表中的值。
增量 - 是添加到加載的上一行的標識值的增量值。
默認值 - (1,1)
在創建新表如何創建一個標識列?
CREATE TABLE tblEmployees
(
ID int IDENTITY(1,1),
Name varchar (200),
SSN varchar(10)
)
PK並不意味着數據庫自動增加它。您應該通過更改身份屬性來設置它。 – Cem