【发布时间】:2012-10-10 10:33:58
【问题描述】:
我想更新我的数据库表中的三个字段/列。其中之一是主键“id”,我使用 Visual Studio 的设置列属性使其自动递增:
Identity Specification: Yes
(Is Identity) : Yes
Identity Seed : 1
Identity Increment : 1
一切正常,但在检查了 2 次一切正常后,我清空了表的内容,以便可以重新填充列。但是第一行自动增量列的值是 3。我删除了该行并再次尝试,但是在更新行后它变成了 4。我不知道发生了什么。我想我的 linq 代码与它无关,因为它只是插入。
linq 背后的代码:
//DLCountryies - .dbml filename
// tblcountry - tablename
// CountryName and CountryCode are Column names
//txtCountryName - textbox
using (DLCountryiesDataContext countries = new DLCountryiesDataContext())
{
tblcountry country = new tblcountry
{
CountryName = txtCountryName.Text.Trim(),
CountryCode = txtCountryCode.Text.Trim()
};
countries.tblcountries.InsertOnSubmit(country);
countries.SubmitChanges();
}
【问题讨论】:
-
您可以在一些简单的 TSQL 中使用 DBCC CHECKIDENT 来重置您的身份,打开管理工作室并启动一个新查询。输入
DBCC CHECKIDENT("YourTableName", RESEED, 0)。这将重置您的自动字段。 -
你也不应该太在意愚蠢的身份证号码。
标签: linq sql-server-2008 auto-increment