Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server MS-SQL填写标识列值_Sql Server_Asp.net Mvc_Entity Framework - Fatal编程技术网

Sql server MS-SQL填写标识列值

Sql server MS-SQL填写标识列值,sql-server,asp.net-mvc,entity-framework,Sql Server,Asp.net Mvc,Entity Framework,我正在使用SQL 2008 Developer edition和SQL 2005兼容模式下的DB构建一个ASP.Net/MVC应用程序。使用实体框架作为DAL 我的问题是,我有一个表,我在其中使用整数标识列,就像发票号一样,也就是说,它必须是唯一的,并且永远不能重复使用。因此,如果不付出很大努力,使用GUID列类型是行不通的 我看到的是DB正在填补标识栏中的空白。这将给我带来长期的问题。是否有设置来禁用此“填充”听起来像SQL server之外的东西;SQL server不会“返回”并重新使用标

我正在使用SQL 2008 Developer edition和SQL 2005兼容模式下的DB构建一个ASP.Net/MVC应用程序。使用实体框架作为DAL

我的问题是,我有一个表,我在其中使用整数标识列,就像发票号一样,也就是说,它必须是唯一的,并且永远不能重复使用。因此,如果不付出很大努力,使用GUID列类型是行不通的


我看到的是DB正在填补标识栏中的空白。这将给我带来长期的问题。是否有设置来禁用此“填充”

听起来像SQL server之外的东西;SQL server不会“返回”并重新使用标识中的间隙,除非表已重新设定种子,但即使如此,它也会一个接一个地盲目递增,并且在命中具有现有值的行时可能会返回大量重复的键错误


您确定该列是一个标识吗?在创建行时,是否还有其他可能重新分配键和/或启用标识插入的操作?

默认情况下,SQL Server不会填补标识字段的空白,它只会在插入行时不断增加数字

可以将标识重置回1,因此您可以看到所描述的内容


我建议您发布一些代码/db结构,显示您的问题,并搜索您可能拥有的任何代码,以便我执行身份重新设定。

除非我没有正确理解您的问题。如果在标识列上创建主键或唯一约束,则可以避免重复值的问题

例如:

create table TableName
(
    InvoiceID int identity(1,1) not null primary key
)

这是我的想法,但看看数据库中的数据,它看起来确实不像。但在阅读了所有人的评论后,我回去重新验证了这些东西,它工作正常。谢谢