带有OrderBy的Linqbuilder查询

时间:2010-03-12 18:47:54

标签: c# linq-to-sql predicatebuilder

我有1:M的关系。

我根据用户的输入构建了一个动态查询,以返回父项实体及其子项的列表(使用谓词构建器:

(成功完成新的TDataContext()。Ps.Where(谓词))...

但需要通过仅在子实体上找到的字段来排序结果。

我很茫然:新的TDataContext()。Ps.Where(谓词).OrderBy(p => p.Cs. ??)

其中Ps =父母与Cs =子实体的集合关系

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:1)

一种方法是先选择孩子:

new TDataContext().Ps.Where(predicate).SelectMany(p=>p.Cs).OrderBy(q => q.Name);

答案 1 :(得分:0)

尝试这样的事情:

new TDataContext().Ps.Where(predicate).OrderBy((<datatype of p> p) => p.Cs.Name)

您必须替换“&lt;数据类型的p&gt;”无论那是什么。此外,您必须将“名称”替换为您要排序的字段。