尋找創建一種通用查詢生成器,其中通過導航屬性具有相關實體。所以我想能夠這樣說:相關實體的Lambda表達式樹
var results = from entityA in context.entityAs
where entityA.NavigationPropertyB.PropertyZ = value1
group entityA by entityA.NavigationPropertyC.PropertyY into g
select new { propertyY = g.Key, value = g.OperatorD(x=>x.PropertyX)}
其中entityA,相關的屬性和運營商可以在飛行中提供。我正在考慮爲給定的實體類型獲取屬性的集合,並使用它們來構建動態查詢的lambda表達式樹。
a)這是否有效?這是否明智?
b)是否有一種簡單的方法可以獲得我想要查詢的所有屬性的單個集合,包括相關實體的屬性n遠離entityA的關係的數量?
c)查詢樹在運行時傳入的相關實體的外觀如何?
我肯定會從Dynamic Linq開始。優點是已經實施。查詢作爲字符串傳遞,因此您的動態where子句將是'.Where(「NavigationProperty.PropertyZ = \」value1 \「」)''。 – 2014-11-02 20:21:14