C# 主键值不为';实体框架数据库中的t增量自动生成

C# 主键值不为';实体框架数据库中的t增量自动生成,c#,sql-server,linq,entity-framework-5,C#,Sql Server,Linq,Entity Framework 5,我确信我遗漏了一些非常小的东西,但我有一个主要价值自动递增的问题。我创建了两个简单的表,并使用EntityFramework5采用现有的数据库模型优先方法。我从控制台程序简单地在表中添加值 我的问题是代码第一次运行正常,但如果我再次运行整个应用程序并找到原因,试图增加更多价值,代码就会崩溃;EF不会自动增加主索引 桌子 控制台程序 非常感谢。试试这个 CREATE TABLE [dbo].[Book_Titles] ( [Book_ID] INT IDENTITY(1,1) NOT

我确信我遗漏了一些非常小的东西,但我有一个主要价值自动递增的问题。我创建了两个简单的表,并使用EntityFramework5采用现有的数据库模型优先方法。我从控制台程序简单地在表中添加值

我的问题是代码第一次运行正常,但如果我再次运行整个应用程序并找到原因,试图增加更多价值,代码就会崩溃;EF不会自动增加主索引

桌子 控制台程序 非常感谢。试试这个

 CREATE TABLE [dbo].[Book_Titles] (
  [Book_ID] INT   IDENTITY(1,1)   NOT NULL,
  [Title]   NVARCHAR (150) NOT NULL,
  PRIMARY KEY CLUSTERED ([Book_ID] ASC)
);
在列上定义
标识

如果您愿意,请与其他相同。

试试这个

 CREATE TABLE [dbo].[Book_Titles] (
  [Book_ID] INT   IDENTITY(1,1)   NOT NULL,
  [Title]   NVARCHAR (150) NOT NULL,
  PRIMARY KEY CLUSTERED ([Book_ID] ASC)
);
在列上定义
标识


如果需要,与其他相同。

Microsoft SQL Server使用
标识
关键字执行自动递增功能。在你的案子里它不见了

您可以在不同的情况下使用
IDENTITY
属性

  • 它与CREATE表一起使用
  • 和ALTER TABLE Transact-SQL语句
因此,如果您已经创建了表(并且表中有数据),您可以如下所示进行更改

 ALTER TABLE (yourTable) ADD NewColumn INT IDENTITY(1,1)
 ALTER TABLE (yourTable) DROP COLUMN OldColumnName
 sp_rename 'yourTable.NewColumn', 'OldColumnName', 'COLUMN'
它会将您的数据保存在现有表中


希望它能有所帮助

Microsoft SQL Server使用
标识
关键字执行自动递增功能。在你的案子里它不见了

您可以在不同的情况下使用
IDENTITY
属性

  • 它与CREATE表一起使用
  • 和ALTER TABLE Transact-SQL语句
因此,如果您已经创建了表(并且表中有数据),您可以如下所示进行更改

 ALTER TABLE (yourTable) ADD NewColumn INT IDENTITY(1,1)
 ALTER TABLE (yourTable) DROP COLUMN OldColumnName
 sp_rename 'yourTable.NewColumn', 'OldColumnName', 'COLUMN'
它会将您的数据保存在现有表中


希望这会有所帮助

sql脚本中没有标识列。sql脚本中没有标识列。