寻找创建一种通用查询生成器,其中通过导航属性具有相关实体。所以我想能够这样说:相关实体的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