Как избежать проблем выбора 1 + n - PullRequest
1 голос
/ 29 декабря 2011

Я хочу перечислить все проекты на странице. Для каждого проекта я хочу перечислить все теги для данного проекта. Каковы мои варианты для ускорения этого. Наивная реализация генерирует 1 + n запросов выбора.

Могу ли я с силой проекции linq-to-sql извлечь все данные в одном запросе?

Должен ли я разделить это и сделать запрос для проектов и один запрос для тегов и поместить в словарь и поиск в моем представлении? (Похоже на хак)

1 Ответ

3 голосов
/ 29 декабря 2011

Использовать функцию LoadOptions:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...