【发布时间】:2009-12-17 22:53:47
【问题描述】:
我遇到了一种情况,我需要通过多对多关系预取一些实体。所以这就像经典的BlogPost <- BlogPostTag -> Tag 情况。
是的,我知道 LoadOptions,但我不能使用它,因为它是一个 Web 应用程序,并且我使用每个请求模式一个数据上下文。
您似乎也不能使用投影来预取多对多关系。是的?没有?
我想根据一组博客返回IQueryable<Tag>。我能做的最好的就是通过执行以下操作让它返回IQueryable<IEnumerable<Tag>>:
public IQueryable<Tag> GetJobsCategories(IQueryable<BlogPost> blogPosts)
{
var jobCats = from bp in blogPosts
select bp.BlogPostTags.Select(x => x.Tag);
return jobCats;
}
我可以把它弄平吗?我错过了一些明显的东西吗?我可以采取其他方法吗?
不,我不能更改 ORM ;-)
【问题讨论】:
标签: linq linq-to-sql eager-loading prefetch