Если бы у меня был:
m => m.OwnedCollection(p => p.Addresses)
а также
m => m.OwnedCollection(p => p.Contacts)
Я хотел бы объединить их:
m => m.OwnedCollection(p => p.Addresses).OwnedCollection(p => p.Contacts)
Есть ли способ сделать это?
Я также хотел бы объединить:
m => m.OwnedCollection(p => p.Contacts)
а также:
with => with.AssociatedCollection(p => p.AdvertisementOptions)
быть:
m => m.OwnedCollection(p => p.Contacts, with => with.AssociatedCollection(p => p.AdvertisementOptions))
Есть ли способ сделать это?
Я надеюсь, что это довольно простые требования, но мне трудно понять эту терминологию.
Некоторые предпосылки:
Я использую https://github.com/refactorthis/GraphDiff для поддержки объединения объектов для обновлений. Проблема в том, что он ожидает, что дерево выражений, описывающее взаимосвязь enitity, будет обновляться, например.
context.UpdateGraph(company, map => map
.OwnedCollection(p => p.Contacts, with => with
.AssociatedCollection(p => p.AdvertisementOptions))
.OwnedCollection(p => p.Addresses)
);
Mine должно быть общим решением, поэтому мне нужно изучить различные отношения один-к-одному, один-ко-многим и многие-ко-многим из моих сущностей, используя отражение и преобразовать их в дерево выражений.
Любая помощь по моим конкретным вопросам или общей помощи будет оценена по достоинству.
develop
ветвь GraphDiff обеспечивает поддержку отображения на основе атрибутов. Вместо предоставления дерева выражений, отображающего ваш график, вы добавляете собственные свойства (Owned
or Associated
) к свойствам навигации в ваших классах моделей, а GraphDiff создает для вас сопоставление. Посмотрите на тестовые модели GraphDiffs для некоторых примеров этого.