C# WCF数据服务:多对多查询

C# WCF数据服务:多对多查询,c#,.net,linq,wcf-data-services,C#,.net,Linq,Wcf Data Services,所以我有这个数据库模型: Student<->StudentClasses<->Classes 这会起作用,但如果您输入ID DNE,它将崩溃 var qry = service.StudentClasses .Expand("Classes") .Where(x=>x.StudentId==1) .First() .Classes.Select(t=

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

Student<->StudentClasses<->Classes

这会起作用,但如果您输入ID DNE,它将崩溃

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

这是一个类似的问题:LINQ不支持您试图做的事情。因此,您需要创建多个查询,或者扩展和收回比您需要的更多的查询?或者另一个ORM?他正在使用LINQ到ODATA/rest。有没有比使用WCF数据服务更好的方法公开您的数据库?这取决于,如果您正在做简单的瘦客户机工作,并且没有业务逻辑,那么数据服务是一种方法,如果您要做复杂的查询,请创建一些自定义查询。我不喜欢数据服务的客户端API,也不喜欢让客户能够以他们选择的任何方式查询我的数据/更改我的数据。因此,我倾向于控制人们如何通过web服务和数据访问层访问我的数据。
var qry =  service.StudentClasses
              .Expand("Classes")
              .Where(x=>x.StudentId==1)
              .First()
              .Classes.Select(t=>t);