我需要的查询是:
我想列出所有高尔夫球场(GolfCourseInfo)和DatePlayed(GolfQuestTee)。
并非所有高尔夫球场都已经上场,所以DatePlayed将会是空的,但我需要列出所有高尔夫球场,无论如何。
我在LinqPad中遇到了一些问题,但他们总是只返回具有相应DatePlayed值的课程,而这不是我需要的。
感谢任何帮助。
答案 0 :(得分:2)
假设您只是连接到Linqpad中的数据库(因此,使用LINQ to SQL),它应该是这样的:
from info in GolfCourseInfos
select new {
info,
Dates = info.Tees.SelectMany(t => t.GolfQuestTees)
.Select(x => x.DatePlayed)
}
它会在没有日期的情况下提供空的Dates
个集合。
答案 1 :(得分:1)
在这里猜猜,但是这样的事情?
from c in GolfCourseInfo
join t in Tee on c.Id equals t.CourseInfoId
join q in GolfQuestTee on t.Id equals q.TeeId
select new
{
CourseID = c.Id,
CourseName = c.CourseName,
Location = c.Location,
DatePlayed = q.DatePlayed
}