是的,这些问题中的另一个。我看过这里但无济于事..
这是我的情况。
我创建了一个 ASP 站点,最初使用的是 SQLce。事实证明这很糟糕,因为主持人不支持它。我通过 Web Matrix 方法将 sdf 文件转换为 SQL server 2012 db。数据库一切正常,一切都可以读取数据。当我尝试将任何内容写入表格时,问题就出现了。VS 出现说:
当 IDENTITY_INSERT 设置为 OFF 时,无法在表“组”中插入标识列的显式值。
现在..以前一切都很顺利。这是我建立的一个故事的例子:
Column1: ID - Int - Primary key. - Identity specification yes, with a increment of 1
Column2: GroupName - nvarchar(100) - just a normal text field
然后。它阻塞的代码在哪里:
using (SLEntities context = new SLEntities())
{
var namecheck = (from n in context.Groups
where n.GroupName == newname
select n).Count();
if (namecheck > 0)
{
// the name already exists.. return
lab_Error.Text = newname + " is already in the database. Please use another name";
return;
}
// namecheck is new.. add to db
Group g = new Group();
g.GroupName = newname;
context.Groups.Add(g);
context.SaveChanges();
}
它在 savechanges() 上死掉了。
我的问题是我该如何解决这个问题?(我看到了 IDENTITY_INSERT ON 的东西,但是当你只创建表时不是吗?).. 或者,不是使用和自动递增 ID,还有什么方法?