Entity Framework LoadProperty с несколькими ссылками - PullRequest
4 голосов
/ 16 мая 2011

С помощью Entity Framework вы можете сделать что-то подобное, чтобы загрузить объекты для нескольких ссылок с помощью запроса.

var Customer = context.Customers.Include(x=>x.Orders.Select(y=>y.Items));

Не похоже, что я могу сделать то же самое с методом LoadProperty.Когда у меня уже есть объект, и мне нужно загрузить некоторые справочные данные, я использую LoadProperty.

context.LoadProperty(Customer, x=>x.Orders);

Это работает.Но это выдает ошибку ..

context.LoadProperty(Customer, x=>x.Orders.Select(y=>y.Items));

И это тоже ...

context.LoadProperty(Customer.Orders, x=>x.Items);

Это исключение для обоих случаев ...

Выражение селектора для LoadProperty должно быть MemberAccess для свойства.

Ответы [ 2 ]

1 голос
/ 30 августа 2012

У меня была та же проблема, и я закончил циклически перебирать сущности и загружать их одну за другой:

EFContext.LoadProperty(primingRunSelector, f => f.PrimingRun);
EFContext.LoadProperty(primingRunSelector.PrimingRun, f => f.PrimingFillbagAssignedTos);
foreach (var primingFillbagAssignedTo in primingRunSelector.PrimingRun.PrimingFillbagAssignedTos) EFContext.LoadProperty(primingFillbagAssignedTo, f => f.PrimingFillbag);
1 голос
/ 16 мая 2011

Нет LoadProperty не позволяет этого. Вы можете попытаться использовать подход, описанный в другой вопрос .

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