1
表实体列是唯一的,我试图添加项目。项目数量相当大,所以我试图避免多次连接到数据库。什么是忽略重复的最好方法?删除插入的非唯一数据
实施例:code
编辑:问题是WORD1为类型的nchar(50)的,所以将其改为nvarchar的后(50)一切工作。
表实体列是唯一的,我试图添加项目。项目数量相当大,所以我试图避免多次连接到数据库。什么是忽略重复的最好方法?删除插入的非唯一数据
实施例:code
编辑:问题是WORD1为类型的nchar(50)的,所以将其改为nvarchar的后(50)一切工作。
听起来好像你想避免插入那些已经在表格中的单词。
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()
创建一个单一的连接。
你有没有考虑hashset的大量no记录? – TalentTuner 2010-09-21 02:44:56
问题是Hashset将包含已经在db中的元素。并且HashSet中的元素已经小写了。 – Margus 2010-09-21 02:47:38
@ Margus:为您更新了答案! – 2010-09-21 02:54:56