Объединение двух графов сущностей в Entity Framework - PullRequest
0 голосов
/ 28 февраля 2019

EF поддерживает что-то подобное?Давайте представим, что у меня есть 3 сущности

Customer
Orders
OrderLines

Orders - это дочерние элементы Customer, а OrderLines - это дочерние элементы Order

После загрузки этой структуры с использованием EF -Я возвращаю его клиенту Web API (отключено).

Когда клиент возвращает график (POST возвращается на сервер) - я знаю только один факт: это тот же Customer, но я хочу объединить ордера / строки вбаза данных.

Вероятно, не идеальный пример с Орденами, но это то, что нам нужно.Мы хотим поддерживать стандартную логику типа "REST" на клиенте, а не создавать клиентские объекты отслеживания.

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

По существу, ходя по свойствам одно за другим на Customer, затем, увидев, какие Заказы были удалены, которые получили Добавленные и обновляют свойства тех Обновленных.

Существует ли встроенный универсальный способ обновления значений свойств от одного объекта к другому?

Или, может быть, есть готовый шаблон / учебник для выполнения именно этого?

1 Ответ

0 голосов
/ 05 апреля 2019

Никто не ответил, но я нашел решение, может быть, собираюсь помочь кому-то: http://blog.brentmckendrick.com/graphdiff-aggregate-mappings/

Существует расширение для DbContext, которое позволит объединить 2 графа сущностей.Именно то, что мы искали.

...