帮助linq to sql多对多查询

时间:2010-09-25 00:02:38

标签: c# linq linq-to-sql linq-to-entities

我有以下实体

A_Entity
-----------
AId

AB_Entity
-----------
AId
BId

B_Entity
-----------
BId

我有一个函数可以帮助根据提供的输入构建查询。在这种情况下,我必须构建一个查询来获取具有匹配BId的所有A_Entities(作为函数的输入提供)

public static IQueryable<A_Entity> BuildQuery(IQueryable<A_Entity> query, int BId)
{
   // Something like query.where(a => a.select_all_a_that_have corresponding_b_with_Id_equalto_BId)
}

我知道必须在AB_Entity和A_Entity之间加入,但不知道如何应用它来构建IQueryable并返回。

由于

1 个答案:

答案 0 :(得分:1)

query = query.Where(a => a.AB_Entities.Any(ab => ab.BId == BId));
return query;