删除插入时的非唯一数据

时间:2010-09-21 02:17:36

标签: c# database linq-to-sql

表实体列是唯一的,我正在尝试添加项目。项目数量相当大,所以我试图避免多次连接到数据库。忽略重复的最佳方法是什么?

示例:code

编辑:问题是word1的类型为nchar(50),所以在将其更改为nvarchar(50)后,一切正常。

1 个答案:

答案 0 :(得分:2)

听起来你想避免插入表格中已有的单词。

HashSet<string> words; 

List<string> newWords = words.Except(lh.words.Select(w=>w.word1))
                             .ToList();

lh.words.InsertAllOnSubmit(newWords.Select(x=> new word { word1 = x}));

您的代码,就像您今天所拥有的那样,将在同一批次中相互发送所有INSERTS代码。它将使用您拥有的SubmitChanges()为它们创建单个连接。