【发布时间】:2018-07-20 01:24:16
【问题描述】:
我有这个问题:
from i in dc.TFFiles
where i.Tid == tid
group i by new { i.Title, i.Type } into gr
select gr.OrderByDescending(g => g.Version).First();
我想添加一个与另一个表的连接,这样我就可以访问第二个表的字段
这是我需要的加入,没有group by:
from i in dc.TFFiles
join c in dc.FCategory on i.CatId equals c.id
....
如何将group by 查询与join 结合使用
这样尝试过,但它没有按版本降序对结果进行排序。即使有更高版本的文件,我总是得到版本 1。
var result =
from i in dc.TFFiles
where i.Tid == tid
group i by new { i.Title, i.Type } into gr
orderby gr.FirstOrDefault().Version descending
join c in dc.FCategories on gr.FirstOrDefault().CatId equals c.Id
select new { id = gr.FirstOrDefault().id, Title = gr.FirstOrDefault().Title, Version = gr.FirstOrDefault().Version };
【问题讨论】:
-
问题是什么?如何将连接添加到 LINQ?
-
与group by子句的join查询
-
@MegaTron 尝试过,但无法使用
select gr.OrderByDescending(g => g.Version).First();