避免选择1 + n问题

时间:2011-12-29 10:24:42

标签: linq-to-sql asp.net-mvc-2

我想在页面上列出所有项目。对于每个项目,我想列出给定项目的所有标签。我有什么选择加快这个速度。天真的实现生成1 + n个选择查询。

我可以使用投影力linq-to-sql来获取一个查询中的所有数据吗?

我应该拆分它并查询项目和一个标签查询并放入字典并在我的视图中查找?(看起来像是黑客)

1 个答案:

答案 0 :(得分:3)

使用LoadOptions功能:

    MyDataContext db = new MyDataContext();
    DataLoadOptions options = new DataLoadOptions();
    options.LoadWith<Project>(p => p.Tags);
    db.LoadOptions = options;

之后,每个查询加载项目实体也会下载标签。