C# Linq最新记录组
(林克) 我有一个简单的对象让我们在一个简单的狗列表中调用狗C# Linq最新记录组,c#,linq,C#,Linq,(林克) 我有一个简单的对象让我们在一个简单的狗列表中调用狗 Dog Id (Unique) GroupBarkId Name 我需要得到所有拥有相同最高群犬ID的狗 Id GroupdBarkId 1 2 2 2 3 2 4 3 5 3 6 3 因此,在本例中,我需要列表中的GroupBarkId等于3 当我进行查询时,我不知道最高的GroupBarkId您可以使用可枚举。GroupBy+OrderByDescending: List&
Dog
Id (Unique)
GroupBarkId
Name
我需要得到所有拥有相同最高群犬ID的狗
Id GroupdBarkId
1 2
2 2
3 2
4 3
5 3
6 3
因此,在本例中,我需要列表中的GroupBarkId等于3
当我进行查询时,我不知道最高的GroupBarkId您可以使用
可枚举。GroupBy
+OrderByDescending
:
List<Dog> dogsWithHighestGroupBarkId = dogs
.GroupBy(d => d.GroupBarkId)
.OrderByDescending(grp => grp.Key)
.First()
.ToList()
List dogsWithHighestGroupBarkId=狗
.GroupBy(d=>d.GroupBarkId)
.OrderByDescending(grp=>grp.Key)
.First()
托利斯先生()
您可以使用可枚举的.GroupBy+OrderByDescending
:
List<Dog> dogsWithHighestGroupBarkId = dogs
.GroupBy(d => d.GroupBarkId)
.OrderByDescending(grp => grp.Key)
.First()
.ToList()
List dogsWithHighestGroupBarkId=狗
.GroupBy(d=>d.GroupBarkId)
.OrderByDescending(grp=>grp.Key)
.First()
托利斯先生()
或者首先获取最大Id:
var id = db.Dogs.Max(d => d.GroupdBarkId);
var dogs = db.Dogs.Where(d => d.GroupdBarkId == id)
.ToList();
或者首先获取最大Id:
var id = db.Dogs.Max(d => d.GroupdBarkId);
var dogs = db.Dogs.Where(d => d.GroupdBarkId == id)
.ToList();
这比为集合中的每个项进行子查询要好。顺便说一句,我认为就性能而言,最好的方法是进行两次单独的查询—一次用于获取最大id,另一次用于筛选集合—这比对集合中的每个项目进行子查询要好。顺便说一句,我认为就性能而言,最好的方法是进行两个独立的查询——一个用于获取最大id,另一个用于筛选大学。今天人们的投票狂潮是反对票。一定是个糟糕的星期五。这个问题是可读的、格式化的,并且清楚地解释了他想做什么。但是缺乏研究、代码和OP陷入困境的真正原因。所以这不是一个真正的问题。就为你写吧me@L.B您刚才描述了Stack Overflow的大多数“好”问题今天人们疯狂地投反对票。一定是个糟糕的星期五。这个问题是可读的、格式化的,并且清楚地解释了他想做什么。但是缺乏研究、代码和OP陷入困境的真正原因。所以这不是一个真正的问题。就为你写吧me@L.B您刚才描述了Stack Overflow的大多数“好”问题