0

我的表架构

我需要的查询是:

我想列出所有高尔夫球场 (GolfCourseInfo) 以及 DatePlayed (GolfQuestTee)。

并非所有高尔夫球场都已打过,因此 DatePlayed 将为空,但无论如何我都需要列出所有高尔夫球场。

我在 LinqPad 中遇到了一些查询,但它们总是只返回具有相应 DatePlayed 值的课程,这不是我需要的。

任何帮助表示赞赏。

4

2 回答 2

2

假设您只是连接到 Linqpad 中的数据库(因此,在后台使用 LINQ to SQL)它应该是这样的:

from info in GolfCourseInfos
select new { 
               info,
               Dates = info.Tees.SelectMany(t => t.GolfQuestTees)
                                .Select(x => x.DatePlayed)
           }

它将提供Dates没有日期的空集合。

于 2013-07-10T07:55:29.033 回答
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
}
于 2013-07-10T02:36:42.373 回答