Linq 获得;违反主键约束“;错误,但没有重复项
我使用LINQ到SQL。我在SQLServer中有一个简单的单属性表,这个属性也是主键。以下是表格结构(来自Visual Studio 2012的屏幕截图) 我使用linq从Linq 获得;违反主键约束“;错误,但没有重复项,linq,linq-to-sql,primary-key,Linq,Linq To Sql,Primary Key,我使用LINQ到SQL。我在SQLServer中有一个简单的单属性表,这个属性也是主键。以下是表格结构(来自Visual Studio 2012的屏幕截图) 我使用linq从列表创建相应的实体 此实体的唯一属性是标记。我遍历列表(这是从xml文件反序列化的),创建标记实体,并将其标记属性设置为列表中的字符串,然后调用InsertOnSubmit 填充标记表后,我在上下文中调用SubmitChanges。在这一点上,我得到一个错误,我在一些字符串上有主键冲突,让它成为blabla 我在我的xml
列表创建相应的实体
此实体的唯一属性是标记
。我遍历列表
(这是从xml文件反序列化的),创建标记
实体,并将其标记属性设置为列表中的字符串,然后调用InsertOnSubmit
填充标记
表后,我在上下文中调用SubmitChanges
。在这一点上,我得到一个错误,我在一些字符串上有主键冲突,让它成为blabla
我在我的xml文件(我从中反序列化了我的列表
)中检查了好几次,我只有一个bla-bla
。我试图从字符串中删除这个bla-bla
,之后,我在另一个字符串上得到了相同的错误,再次检查该文件,我在文件中只有一个字符串
我甚至在代码中检查了包含stringbla-bla
的元素的计数,并且这里的计数只有1。我不知道LINQ从哪里又拿了一个“布拉布拉”的例子,我真的很生气。当然,我已经检查了我在代码中为每个字符串只调用了一次InsertOnSubmit
。所以我不知道为什么我继续在“bla-bla”上得到这个主键违规
有什么建议吗
谢谢你的回答你能添加表格的结构吗?它有自动递增的ID吗?我添加了屏幕截图,请查看。不,它没有任何自动增量。我还检查了表中没有任何数据,所以我插入到空白表中。我建议您看一看,我已经检查过了,但在我的情况下,它会变慢,我有很多记录,每个记录的检查都会变慢,而我只是保证插入前值是唯一的。我使用主键只是为了以后能够定义外键,我的数据库以后不会被修改,所以我只需要主键来定义外键。您添加的值显然不是唯一的。