Удаление неуникальных данных при вставке - PullRequest
1 голос
/ 21 сентября 2010

Столбец сущности таблицы уникален, и я пытаюсь добавить элементы. Количество предметов довольно большое, поэтому я стараюсь избегать подключения к базе данных много раз. Каков наилучший способ игнорировать дубликаты?

Пример: код

Редактировать: Проблема в том, что word1 было типа nchar (50), поэтому после изменения nvarchar (50) все заработало.

1 Ответ

2 голосов
/ 21 сентября 2010

Звучит так, как будто вы хотите избежать вставки тех слов, которые уже есть в таблице.

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().

...