【发布时间】:2019-08-20 02:06:57
【问题描述】:
如何在 LINQ 中做到这一点?
select MAX(d.DepartureDateRange),MAX(d.ReturnDateRange)
from Tour t join
TourCategory tc on t.ID = tc.TourID
join TourDates td on t.ID = td.TourID
join Dates d on d.ID = td.DatesID
where tc.CategoryID = 3 and t.ID = 12
数据库图在这里->
例如加入是这样的,但我无法获得最大的 DepartureDateRange 和 ReturnDateRange
var query2 = from t in db.Tour
join tc in db.TourCategory on t.ID equals tc.TourID
join td in db.TourDates on t.ID equals td.TourID
join d in db.Dates on td.DatesID equals d.ID
where tc.CategoryID == 3
select new IndexTour
{
ID = t.ID,
TourName = t.TourName,
//DepartureDateRange =
//ReturnDateRange =
Description = t.SmallDesc,
Price = t.Price,
CoverPhotoUrl = t.CoverPhotoUrl,
TourProgram = t.TourDesc
};
提前致谢。
【问题讨论】:
-
您的 SQL 返回一行有两条记录(按整个数据集分组),但 LINQ 表达式返回 IndexTour 列表。您是否需要每个 Tour 的最大日期或整个选择的最大日期(根据 SQL)?
-
感谢您的回答。我需要每个巡回赛的最大日期。
-
我猜到那时你需要组队
-
也许我的SQL to LINQ Recipe 对你有帮助?