Могу ли я массово добавлять или обновлять записи базы данных Oracle с помощью последовательности в качестве первичного ключа, используя Entity Framework? - PullRequest
0 голосов
/ 06 декабря 2018

В таблице базы данных Oracle:

  • Я использую последовательность в качестве первичного ключа ( аналогично тому, что объясняется в этом ответе ).Это означает, что первичный ключ генерируется при вставке.
  • Для некоторых столбцов существует ограничение уникальности, чтобы избежать вставки функционально повторяющихся строк

Имея это в виду,Есть ли способ добавить или обновить список объектов в эту таблицу с помощью Entity Framework?

Я пробовал несколько вещей, таких как

List<MYTABLE> entries = ... ;
AddRange(entries); // Ok when no entry, exists, else ORA-00001: unique constraint violated
AddOrUpdate(entries.ToArray()); // Same

Но единственный способ мне удалосьсделать это, чтобы проверить каждый элемент в отдельности

List<MYTABLE> entries = ... ;
foreach(MYTABLE entry in entries) {
    if (context.MYTABLE.Where(e => ...).Any()) // Update
    else // insert
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...