Несколько левых соединений против Entity Framework - PullRequest
1 голос
/ 07 февраля 2010

Я искал, но не могу найти решение этой проблемы ...

Вот мои сущности ...

  • ContentPage (имеет много ContentPageZones)
  • ContentPageZone (имеет один контент)
  • Содержание

Я хочу запросить ContentPage по идентификатору, и я хочу, чтобы он содержал все связанные ContentPageZones, которые активны и имеют хотя бы один активный контент (оба имеют свойство IsActive bool). Если нет доступных ContentPageZones с активным контентом, я по-прежнему хочу ContentPage с пустым списком ContentPageZones.

Предложения

1 Ответ

0 голосов
/ 08 февраля 2010

В своем вопросе вы говорите:

ContentPageZone (имеет один контент)

Что означает, что ContentPageZone -> Content равен 1 .. [0,1].

Потом ты скажешь:

... все связанные ContentPageZones, которые активны и имеют хотя бы один активный контент ...

Что означает, что ContentPageZone -> Content равен 1 .. *.

Я предполагаю, что первое верно, но для второго запрос будет другим.

var q = from cp in Context.ContentPages
        where cp.ID == someId
        select new 
        {
            ID = cp.ID,
            Name = cp.Name,
            ContentPageZones = from cpz in cp.ContentPageZones
                               where cpz.Content.IsActive
                               select new 
                               {
                                   ID = cpz.ID,
                                   // etc.
                               }
        };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...