EF Core - детерминировать изменения от массового обновления данных

Наше ПО хочет инструмент для массового обновления данных в одной из наших таблиц. По сути, он хочет загрузить CSV, стереть существующую таблицу и поместить данные из CSV в таблицу. Все это легко реализовать в коде с помощью таких инструментов, как SqlBulkCopy, но я не уверен, как 1. сделать это с помощью EF Core и 2. Отслеживать изменения по мере необходимости, чтобы передавать дельты обратно.

Пример: у меня есть следующие записи:

Material | Quantity | Ship Parcel | Option Code | Price Key
------------------------------------------------------------
AB12312  |     1    |      0      |    AC31     | AC31_AB12312
AB23124  |     2    |      1      |    AC32     | AC32_AB23124
CD12312  |     3    |      0      |    LZ11     | LZ11_CD12312 
DR21312  |     6    |      1      |    DR01     | DR01_DR21312

Затем ПО представляет файл со следующими записями:

Material | Quantity | Ship Parcel | Option Code | Price Key
------------------------------------------------------------
AB12312  |     1    |      1      |    AC31     | AC31_AB12312
AB23124  |     3    |      1      |    AC32     | AC32_AB23124 
DR21312  |     6    |      1      |    DR01     | DR01_DR21312
EA12121  |     1    |      1      |    ZD22     | ZD22_EA12121

Таблица данных должна быть обновлена, чтобы она выглядела идентично таблице 2, и мы должны отправить что-то вроде:

Created:
    EA12121  |     1    |      1      |    ZD22     | ZD22_EA12121
Deleted:
    CD12312  |     3    |      0      |    LZ11     | LZ11_CD12312 
Updated:
    AB23124  |     3    |      1      |    AC32     | AC32_AB23124 

Поскольку мы говорим о 100 тыс. Записей за загрузку, требуется много времени, чтобы что-то сделать вручную, сравнивая каждую строку. Существуют ли какие-либо автоматизированные функции ядра ef, которые облегчили бы это?

0 ответов

Другие вопросы по тегам