Enobong Adahada Ответов: 1

Вставьте list<T> entity framework и проверьте дубликаты


Привет,
Пожалуйста, как мне вставить несколько строк с помощью entity framework, проверить наличие дубликатов и удалить их в другую таблицу?'

я хочу сделать DBContext.AddRange(List<t>) и поместить дубликаты в другую таблицу.
Спасибо.

Что я уже пробовал:

dbSet.AddRange(bindingModel);
     var result = await _Context.SaveChangesAsync();

BillWoodruff

Привет, ты хочешь сказать, что хочешь создать еще одну таблицу для хранения дубликатов ?

Afzaal Ahmad Zeeshan

Обычно Entity Framework должна иметь возможность проверять наличие дубликата на основе первичного ключа.

Но, если у вас нет первичных ключей и вы хотите "вставить" записи, но игнорировать дубликаты, то первый запрос, какие записи доступны.

Я бы рекомендовал использовать хранимую процедуру для повышения производительности.

Enobong Adahada

Да, у меня есть первичный ключ, и да, я хочу поместить дубликаты в отдельную таблицу и сохранить только дубликаты свободных записей

Enobong Adahada

Да, у меня есть первичный ключ, и да, я хочу поместить дубликаты в отдельную таблицу и сохранить только дубликаты свободных записей

1 Ответов

Рейтинг:
2

Sandesh M Patil

Вы можете найти повторяющиеся значения с помощью следующих инструментов

List<String> duplicates = lst.GroupBy(x => x)
                             .Where(g => g.Count() > 1)
                             .Select(g => g.Key)
                             .ToList();


Enobong Adahada

Таким образом, все замедлится, так как моя таблица довольно велика, около 15 миллионов записей.