我使用LINQ to SQL。我在SQL Server中有一个简单的属性表,这个属性也是主键。这是表结构(来自Visual Studio 2012的屏幕截图)
我使用linq从List<string>
创建相应的实体。
此实体的唯一属性为token
。我遍历List<string>
(这是从xml文件反序列化),并创建Token
实体并将其token属性设置为List中的字符串并调用InsertOnSubmit
。
填充Token
表后,我在上下文中调用SubmitChanges
。此时我收到错误,我在某些字符串上有主键违规,让它为bla bla
。
我在我的xml文件中已经多次检查过(我已经反序列化了我的List<string>
),我只有一个bla bla
。我试图从字符串中删除此bla bla
,在我这样做之后,我在其他字符串上得到相同的错误,并再次检查文件并再次在文件中只有一个字符串。
我甚至在代码里面检查了包含字符串bla bla
的元素的数量,并且再次计数只有1.我不知道LINQ采用了另一个“bla bla”的实例,我真的得到了愤怒。当然,我已经检查过我的代码中只有一次为每个字符串调用InsertOnSubmit
。所以我不知道为什么我继续在“bla bla”上获得这个主键违规。
有什么建议吗?
感谢您的回答