[英]How to get list of latest entry for each parent using entity framework?
我有一個名為“Children”的表,其中包含“Id”、“ParentId”、“Description”、“LastUpdate”等列。我想查詢一個列表,每個 parentId 都有不同的行,我希望這些行是最新的為DateTime
的“LastUpdate”列的值。 實現這一目標的最簡單方法是什么? 我試過這樣的事情:
var latestList = _context.Children.where(x => !x.Deleted).OrderByDescending(x => x.LastUpdate).DistinctBy(x => x.ParentId).ToList();
但是這不能翻譯成sql。那么我現在還能做什么呢?
如果我正確理解您的查詢,對於每個Parent
您都希望Child
具有最新的LastUpdate
:
var latestList = _context.Children
.Where(x => !x.Deleted)
.GroupBy(x => x.ParentId)
.Select(g => g.MaxBy(x => x.LastUpdate))
.ToList();
您可以在.ToList();
之前訂購孩子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.