我有以下LINQ查询,它选择所有具有与之关联的菜单的页面。我现在想要提取所有没有与之关联的菜单的页面,即“ 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可以有一个太多与之关联的页面
非常感谢任何帮助。
答案 0 :(得分: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()
来电以提高效果。