В моей модели у меня есть корень агрегата User
, каждый из которых имеет набор связанных Transactions
. Каждый Transaction
имеет свойство обратной навигации User
.Загрузка связанных объектов в репозиторий с использованием EntityFramework
мне нужно получить все Transactions
сразу, и это привело в следующем запросе в моем UserRepository
public ICollection<ITransaction> GetAllTransactions() {
return (from u in Set.Include("Transactions")
from t in u.Transactions
select t).ToList();
}
Set
является IDbSet<User>
из контекста EF.
Проблема в том, что lazy-load не реализована (и я не хочу ее реализовать), а свойство Transaction.User
после запроса - null
. Все правильно отображается EF.
В чем заключается запрос на получение всего Transactions
с ненулевым User
?
Я использую EF6.
Если вы хотите 'свойство User' быть заселены, то вам нужно для' .INCLUDE («User») 'на ваши сделки. Попробуйте 'from t в u.Transactions.Include (« Пользователь »)' вместо 'from t в u.Transactions'. – Maarten
Что такое 'Set'? –
Можете ли вы не просто сделать что-то вроде 'select new t, t.User' – markpsmith