LINQ Group通过选择多对多关联表

时间:2014-02-26 19:04:17

标签: c# sql asp.net-mvc linq entity-framework

我有两个模型PlansBookmarks,它们在many-to-many relationship中与数据库中的关联表相关联。具体来说,我正在考虑Bookmark与多个Plans相关联的情况,如下所示......

BookmarkID | PlanID
    A      | 1
    A      | 2
    B      | 2

我想要选择与特定BookmarkIDs关联的所有PlanID。因此,如果PlanID = 1,我想要选择B而不是A.

对于奖励积分,我可以轻松获取BookmarkID结果并使用第二个linq查询获取所有书签,但使用select函数或soemthing进行此内联将会很酷。

1 个答案:

答案 0 :(得分:2)

我相信你想这样使用All

int planId = 1;

var query = from b in context.Bookmarks
            where b.Plans.All(p => p.PlanID != planId)
            select b.BookmarkID;