2011-12-29 7 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; 

После этого каждый запрос, загружающий объект Project, также загружает теги.