我正在使用实体框架,并尝试使用实体上的静态 Create 方法在数据库中创建新记录。
具体来说,数据库中有一个名为 Alleles 的表,但 CreateAllele 方法要求 Id 的值,即该表的 PK。
我真的需要提供这个吗?不是由数据库自动增加PK吗?
我正在使用实体框架,并尝试使用实体上的静态 Create 方法在数据库中创建新记录。
具体来说,数据库中有一个名为 Alleles 的表,但 CreateAllele 方法要求 Id 的值,即该表的 PK。
我真的需要提供这个吗?不是由数据库自动增加PK吗?
如果Id
是一IDENTITY
列,您可以只提供一个值(例如 -1),EF 将在提交记录 ID 时将其替换为生成的键。
您可以使用 SQL Management Studio 来更改列的标识值,也可以在创建脚本中包含标识属性。刷新您的实体图,应该很好。
IDENTITY 是您可以在表上设置的属性。您只能在整个表中的一列上设置此属性。SQL Server 将根据您在创建属性时提供的种子来处理此列的增量。
IDENTITY [ ( seed , increment ) ]
Seed — 是用于加载到表中的第一行的值。
增量 — 是添加到已加载的前一行的标识值的增量值。
默认值 – (1,1)
创建新表时如何创建标识列?
CREATE TABLE tblEmployees
(
ID int IDENTITY(1,1),
Name varchar (200),
SSN varchar(10)
)