我有以下 LINQ to SQL EF 类:
SessionId (主表 WebinarSession )上的外键关系。
我希望使用lambdas 来选择与特定产品系列相关的所有 WebinarSession 行。
我举例说明这个代码当然不工作(它强烈要求单 哪里,但它不适用因为我有符合条件的多个实例):
SessionId = _webinarRecordingsDB.WebinarSessions.Where(m => m.SessionId == m.SessionSubjects.Where(n => n.ProductLineName == productLine).SessionId);
_webinarRecordingsDB 是映射 SQL数据库的EF对象。
有人知道如何完成这项任务吗?感谢
答案 0 :(得分:6)
这应该可以解决问题:
var sessions = _webinarRecordingsDB.WebinarSessions.Where(w => w.SessionSubjects.Any(s => s.ProductLine == productLine));
当您在EF(或Linq to SQL类)中定义外键时,设计器应自动创建一个属性,允许您从实体直接访问该表(在您的情况下,您的WebinarSession对象应具有名为SessionSubjects的属性) )。