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