[英]How do I combine two expression tree bodies?
如果我有:
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支持合並實體以進行更新。 問題在於,它期望描述實體關系的表達式樹能夠被更新。
context.UpdateGraph(company, map => map
.OwnedCollection(p => p.Contacts, with => with
.AssociatedCollection(p => p.AdvertisementOptions))
.OwnedCollection(p => p.Addresses)
);
我的需要是一個通用的解決方案,因此我需要使用反射檢查我的實體類型的各種一對一,一對多和多對多關系,並將它們轉換為表達式樹。
任何對我的具體問題的幫助或一般幫助將不勝感激。
GraphDiff的develop
分支為基於屬性的映射提供支持。 無需提供映射樹的表達式樹,而是向模型類中的導航屬性添加自定義屬性( Owned
或Associated
),然后GraphDiff為您創建映射。 看一下GraphDiffs測試模型中的一些示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.