我正在使用Entity Framework,并尝试使用实体上的静态Create方法在数据库中创建新记录。
具体来说,DB中有一个名为Alleles的表,但CreateAllele方法要求Id的值,这是该表的PK。
我真的需要提供吗?是不是要由DB自动增加PK?
答案 0 :(得分:1)
如果Id
是IDENTITY
列,您只需提供一个值(例如-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)
)