我有一个SQL Server数据库。这个数据库有一个名为Item的表。 Item有一个名为“ID”的属性。 ID是我桌子上的主键。此主键以1为增量值的int当我尝试插入记录,我收到一个错误,指出:IDENTITY INSERT和LINQ to SQL
当IDENTITY_INSERT设置无法插入表“项目”标识列显式值。到OFF“
我在尝试使用下面的代码插入记录:
public int AddItem(Item i)
{
try
{
int id = 0;
using (DatabaseContext context = new DatabaseContext())
{
i.CreatedOn = DateTime.UtcNow;
context.Items.InsertOnSubmit(i);
context.SubmitChanges();
id = i.ID;
}
return id;
}
catch (Exception e)
{
LogException(e);
}
}
当我看i.ID提交之前,我注意到i.ID被设置为0这意味着我试图插入0作为身份不管怎样,我不确定它应该是什么。有人可以帮我吗?
谢谢!
是否确定将该列设置为数据库中的主键,并且您的Linq to Sql生成的类反映了该列。我知道有时候我忘了标记一个列作为主键,然后我生成的类需要更新。 – 2011-05-26 13:26:44