0

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

具体来说,数据库中有一个名为 Alleles 的表,但 CreateAllele 方法要求 Id 的值,即该表的 PK。

我真的需要提供这个吗?不是由数据库自动增加PK吗?

这是我用 EF 表示的表

这是智能感知请求 PK 值

4

2 回答 2

1

如果Id是一IDENTITY列,您可以只提供一个值(例如 -1),EF 将在提交记录 ID 时将其替换为生成的键。

于 2012-05-28T17:58:07.243 回答
0

您可以使用 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)
)
于 2012-05-28T12:04:40.680 回答