2010-02-07 4 views
1

Я искал, но не может найти решение этой проблемы ...Multiple Left присоединяется к Entity Framework

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

  • ContentPage (имеет много ContentPageZones)
  • ContentPageZone (имеет один Content)
  • Content

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

Предложения?

ответ

0

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

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

Из чего следует, что ContentPageZone -> Содержимое 1 .. [0,1].

Позже вы говорите:

... все связанные ContentPageZones, которые являются активными, и что, по крайней мере, один Контент, который активен ...

Из чего следует, что ContentPageZone -> Содержание есть 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. 
           } 
     }; 
+0

Да, 1 => [0,1] – ctorx

Смежные вопросы