LINQ与大多数孩子一起获得父母

Sha*_*ean 2 linq entity-framework

我有一个包含Parent对象列表的Children对象列表.我需要写一个查询,它会给我拥有最多孩子的父母.ORM是实体框架,因此应该使用它.

代码开头:

parents.FirstOrDefault(c => c.Children.Max());
Run Code Online (Sandbox Code Playgroud)

这样的事情.

Vla*_*lov 5

我认为它看起来应该更像这样:

parents.OrderByDescending(p => p.Children.Count()).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

您的查询不正确,因为c.Children.Max()将尝试迭代一个父项的子项,如果它们支持比较(例如,子项是Ints),则只返回其中最大的一个.而且很可能你的Children对象不是bool,所以你甚至无法编译代码,因为FirstOrDefault需要

Expression<T, bool>
Run Code Online (Sandbox Code Playgroud)