2011-12-29 80 views
1

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

我可以用投影强制linq-to-sql在一个查询中获取所有数据吗?

我应该把它分解了,并为项目标记的查询和一个查询,并把在一本字典和查找在我看来(似乎是一个黑客)

回答

3

使用LoadOptions特点:?

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

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