Попытка перевести наше решение EF4 на EF CTP5 и столкнулась с проблемой.
Вот соответствующая часть модели:
Соответствующие отношения:
- В одном округе есть много городов
- Один Город имеет одно государство
Теперь я хочу выполнить следующий запрос:
- Получите все округа в системе, и включите все города и все штаты для этих городов.
В EF4 я бы сделал это:
var query = ctx.Counties.Include("Cities.State");
В EF CTP5 у нас есть строго типизированный тип «Включить», который принимает Expression<Func<TModel,TProperty>>
.
Я могу получить все города для округа без проблем:
var query = ctx.Counties.Include(x => x.Cities);
Но как я могу получить State для этих городов?
Я использую чистые POCO, поэтому County.Cities
- это ICollection<City>
, поэтому я не могу сделать это:
var query = ctx.Counties.Include(x => x.Cities.State)
Поскольку ICollection<City>
не имеет свойства с именем State
.
Мне почти нужно использовать вложенный IQueryable.
Есть идеи? Нужно ли переходить на волшебную строку «Включить в этот сценарий»?