WCF数据服务:多对多查询

时间:2011-04-27 16:05:46

标签: c# .net linq wcf-data-services

所以我有这个数据库模型:

Student<->StudentClasses<->Classes

其中1名学生与许多学生班级相关联,1名班级与许多学生班级相关联。

如何编写LINQ查询以获取与Id 1学生链接的所有课程?

以下查询引发异常        (“只能在上次导航后指定查询选项(orderby,where,take,skip)。”):

                     var qry = from sc in service.StudentClasses
                      where sc.StudentId == 1
                      from c in service.Classes
                      where c.ClassId == sc.StudentId
                      select c;

1 个答案:

答案 0 :(得分:0)

这样可行,但如果您是ID DNE,它会崩溃。

var qry =  service.StudentClasses
              .Expand("Classes")
              .Where(x=>x.StudentId==1)
              .First()
              .Classes.Select(t=>t);