Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.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
Linq 获得;违反主键约束“;错误,但没有重复项_Linq_Linq To Sql_Primary Key - Fatal编程技术网

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

我使用LINQ到SQL。我在SQLServer中有一个简单的单属性表,这个属性也是主键。以下是表格结构(来自Visual Studio 2012的屏幕截图)

我使用linq从
列表创建相应的实体

此实体的唯一属性是
标记
。我遍历
列表
(这是从xml文件反序列化的),创建
标记
实体,并将其标记属性设置为列表中的字符串,然后调用
InsertOnSubmit

填充
标记
表后,我在上下文中调用
SubmitChanges
。在这一点上,我得到一个错误,我在一些字符串上有主键冲突,让它成为
blabla

我在我的xml文件(我从中反序列化了我的
列表
)中检查了好几次,我只有一个
bla-bla
。我试图从字符串中删除这个
bla-bla
,之后,我在另一个字符串上得到了相同的错误,再次检查该文件,我在文件中只有一个字符串

我甚至在代码中检查了包含string
bla-bla
的元素的计数,并且这里的计数只有1。我不知道LINQ从哪里又拿了一个“布拉布拉”的例子,我真的很生气。当然,我已经检查了我在代码中为每个字符串只调用了一次
InsertOnSubmit
。所以我不知道为什么我继续在“bla-bla”上得到这个主键违规

有什么建议吗


谢谢你的回答

你能添加表格的结构吗?它有自动递增的ID吗?我添加了屏幕截图,请查看。不,它没有任何自动增量。我还检查了表中没有任何数据,所以我插入到空白表中。我建议您看一看,我已经检查过了,但在我的情况下,它会变慢,我有很多记录,每个记录的检查都会变慢,而我只是保证插入前值是唯一的。我使用主键只是为了以后能够定义外键,我的数据库以后不会被修改,所以我只需要主键来定义外键。您添加的值显然不是唯一的。