我有以下的linq查询:
var allnews = from a in db.News
where !(from c in db.NewsViews
where c.UserGuid == thisUser.UserGuid
select c.NewsGuid).Contains(a.NewsGuid)
orderby a.Date descending
select a;
我想知道最佳的优化方式是什么?或者查询分析器会为我完成这个任务吗?
编辑:目的是获取用户尚未看过的所有新闻项目。因此,一旦用户查看了一个项目,我就会将该项目存储在NewsViews中。而新闻本身则存储在News中。