1

メニューが関連付けられているすべてのページを選択する次のLINQクエリがあります。メニューが関連付けられていないすべてのページを引き出したいと思います。「<strong>AssociatedPages」に存在しないPagesのすべてのページ。

var AssociatedPages = (from mm in db.MainMenus
                            join p in db.Pages on mm.MainMenuPageFK equals p.PageID
                        select p);

var unAssociatedPages = (from p in db.Pages
                            where ???
                            select p);
return View(unAssociatedPages);

これは以前SQLで行ったことがありますが、LINQ構文についてはよくわかりません。

セットアップは1つのMainMenuであり、それに関連付けられているページが多すぎる可能性があります

どんな助けでも大歓迎です。

4

1 に答える 1

3

これを試して:

var unAssociatedPages =
    from p in db.Pages
    join mm in db.MainMenus on p.PageID equals mm.MainMenuPageFK into mms
    where !mms.Any()
    select p;

.ToArray()パフォーマンスを向上させるために、いくつかの呼び出しを行う必要がある場合があります。

于 2012-06-03T07:04:46.057 に答える