实体框架&首要的关键

时间:2012-05-28 08:14:20

标签: entity-framework-4 primary-key

我正在使用Entity Framework,并尝试使用实体上的静态Create方法在数据库中创建新记录。

具体来说,DB中有一个名为Alleles的表,但CreateAllele方法要求Id的值,这是该表的PK。

我真的需要提供吗?是不是要由DB自动增加PK?

Here's my table represented by EF

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

2 个答案:

答案 0 :(得分:1)

如果IdIDENTITY列,您只需提供一个值(例如-1),当提交记录ID时,EF将用生成的密钥替换它。

答案 1 :(得分:0)

您可以使用SQL Management Studio更改列的标识值,也可以在创建脚本中包含identity属性。刷新你的实体图,它应该是好的。

IDENTITY是您可以在表格上设置的属性。您只能在整个表中的一列上设置此属性。 SQL Server将根据您在创建属性时提供的种子来增加此列。

IDENTITY [ ( seed , increment ) ]

Seed - 用于加载到表中的第一行的值。

增量 - 是添加到已加载的上一行的标识值的增量值。

默认值 - (1,1)

如何在创建新表时创建标识列?

CREATE TABLE tblEmployees
(
  ID int IDENTITY(1,1),
  Name varchar (200),
  SSN varchar(10)
)