【发布时间】:2014-01-04 21:05:13
【问题描述】:
我在我的应用程序中创建了一个数据类上下文,并想通过 LINQ 在我的数据库中插入一些条目,但它说
无法执行创建、更新或删除操作 'Table(discipline)' 因为它没有主键。
但我已经将设计器中的一列标记为标识列为真;
有人可以帮忙吗?
【问题讨论】:
我在我的应用程序中创建了一个数据类上下文,并想通过 LINQ 在我的数据库中插入一些条目,但它说
无法执行创建、更新或删除操作 'Table(discipline)' 因为它没有主键。
但我已经将设计器中的一列标记为标识列为真;
有人可以帮忙吗?
【问题讨论】:
将列设置为 IDENTITY 并不意味着它也是表的主键。
您需要使用 SSMS 接口通过 sql 语句显式设置它
创建表时可以设置:
CREATE TABLE Nations
(
NationID int IDENTITY(1,1),
Name varchar(255) NOT NULL,
CapitalCity varchar(255)
PRIMARY KEY (NationID)
)
或使用 ALTER TABLE 语句
ALTER TABLE Nations ADD PRIMARY KEY (NationID)
【讨论】: