2014-02-26 83 views
1

我有兩個模型,PlansBookmarks,它們在many-to-many relationship中與數據庫中的關聯表關聯。具體來說,我期待在那裏一個Bookmark與多個Plans相關的,像下面的情況......LINQ組通過使用多對多關聯表進行選擇

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

我想選擇所有BookmarkIDs那裏是與特定PlanID沒有關聯。因此,如果PlanID = 1,我想要選擇B而不是A.

對於獎勵積分,我可以輕鬆獲取BookmarkID結果並獲得所有帶有第二個linq查詢的書籤,但這樣做會很酷與選擇功能或soemthing。

回答

2

我相信你想使用All這樣的:

int planId = 1; 

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

這是我最終結束了使用,不知道這是否 B組由B的相同 – MassStrike

+0

VAR書籤=從B中_db.bookmarks .BookmarkKey into g 其中g.All(b => b.PlanKey!= planKey) 加入b中的_db.Bookmarks on g.Key等於b.BookmarkKey select b; – MassStrike