在我的数据库中,我有3个表Act,ActVisi和Visi。表ActVisi是Act和Visi表之间的关联表。在我的EF4数据模型中,关联表ActVisi被Acts和Visis实体中的多对多导航属性所取代。
我想选择Visicode = 1的条目(在ActVisi关联表中)。我已经尝试了下面的查询,当我删除.Include("Visis").Where(Function e.Code = 1)
但我得到了所有结果时,它可以正常工作。如何使以下查询工作。我怀疑我在vb中的lambda语法是不正确的。感谢您的帮助。
Dim query2 = From li In Objctx.Acts.Include("Visis").Where(Function e.Code = 1)
Join fc In Objctx.Cals On li.DATE1 Equals fc.DD
Join bl In Objctx.Cals On li.Date2 Equals bl.DD
Order By li.Child_ID, bl.Sort_ID, fc.Sort_ID
Select Project = li.Child_ID, bl_sort = bl.Sort_Wk, fc_sort = fc.Sort_Wk
答案 0 :(得分:1)
你的where子句是对“Acts”而不是“ActVisis”的代码施加条件。 有一种方法可以将条件放在包含的实体上。有关详细信息,请参阅此帖: