1

我有以下 LINQ 查询,它选择所有与它们关联的菜单的页面。我现在想拉出所有没有与之关联的菜单的页面,即。“<strong>AssociatedPages”中不存在的所有页面。

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 语法。

设置是一个 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 回答