Когда и зачем вставлять сущность и ее реляционные ссылки на сущности - PullRequest
0 голосов
/ 17 декабря 2018

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

У меня есть 3 сущности,давайте назовем их E1, E2 и E3.

E1 имеет свойство E2, а E2 имеет свойство E3.Я могу собрать все (делать проверки и так далее) и вставить E3, который вставит E1 и E2 (если они, конечно, еще не существуют, иначе я бы их прикрепил).

Но почему бы нея, например, собираю E1 и вставляю его, продолжаю сборку E2 и вставляю его, наконец собираю E3 (с E1 и E2) и вставляю его?

Есть ли конкретная причина, по которой я не должен этого делать, чтобыможет быть, много звонков, это "нет", ...?

С уважением!

1 Ответ

0 голосов
/ 21 декабря 2018

Самым важным является вызов SaveChanges для Context в самом конце, когда добавляются все сущности.Таким образом, все сущности вставляются / обновляются в одной транзакции, и при этом происходит как можно меньше вызовов базы данных.Преимущества - хорошая производительность и атомарные транзакции (все успешно или неудачно).

...