表实体列是唯一的,我正在尝试添加项目。项目数量相当大,所以我试图避免多次连接到数据库。忽略重复的最佳方法是什么?
示例:code
编辑:问题是word1的类型为nchar(50),所以在将其更改为nvarchar(50)后,一切正常。
答案 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()
为它们创建单个连接。