2012-05-28 152 views
0

我正在使用實體框架,並試圖在實體上使用靜態創建方法在數據庫中創建新記錄。實體框架和主鍵

特別是在DB中有一個叫做等位基因的表格,但是CreateAllele方法要求爲這個表格的PK值。

我真的需要提供嗎?是不是由自動增量PK的數據庫?

Here's my table represented by EF

Here's the intelli-sense ask for a PK value

+0

PK並不意味着數據庫自動增加它。您應該通過更改身份屬性來設置它。 – Cem

回答

1

如果IdIDENTITY列你可以只提供一個值,當記錄id承諾(例如-1),EF將生成的密鑰進行更換。

0

您可以使用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) 
)