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