1

我有一个 1 : M 的关系。

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

(成功完成 new TDataContext().Ps.Where(predicate) )...

但需要按仅在子实体上找到的字段对结果进行排序。

我不知所措: new TDataContext().Ps.Where(predicate).OrderBy(p => p.Cs. ??)

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

任何帮助表示赞赏。

4

2 回答 2

1

一种方法是先选择孩子:

new TDataContext().Ps.Where(predicate).SelectMany(p=>p.Cs).OrderBy(q => q.Name);
于 2010-03-12T19:08:06.590 回答
0

尝试这样的事情:

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

您必须将“<datatype of p>”替换为任何内容。此外,您必须将“名称”替换为您想要排序的任何字段。

于 2010-03-12T19:02:58.240 回答