如何在LINQ中按子对象排序?
类A,B和C. A有B的集合,B有C的集合.我想通过C的Ordinal(int)属性来命令对象A.
var query = from a in db.A
orderby a.Bs.OrderBy(x=> x.C.Ordinal) <--- ??
select a;
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚orderby声明.
编辑:
对不起,我的原始陈述不正确:
A有B和B的集合,持有C对象.C不是一个集合.
每个A应按C的序数属性订购.
另一个编辑/解决方案:
我最终在显示器上为A中的每个B集合在客户端上做了一个.OrderBy(b => bCOrdinal).无论如何,事情变得更好,因为我可以让客户端按照他们需要的任何顺序排序,而不是将其嵌入我的存储库中.
我想比较给定类型的元素列表,以查看哪个列表 "更大".
new BuiltInComparer<IEnumerable<int>>().Compare(
new[] {3,2,3},
new[] {1,2,3})
Run Code Online (Sandbox Code Playgroud)
...将返回1
new BuiltInComparer<IEnumerable<int>>().Compare(
new[] {1,2,3},
new[] {1,2,4})
Run Code Online (Sandbox Code Playgroud)
......会返回-1等
有没有这样的内置比较器?