2012-05-28 151 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) 
)