Проблемы при загрузке нескольких уровней с Entity Framework Plus

У меня проблемы с Entity Framework Plus. Я не могу заставить загрузку нескольких уровней работать.

Следующий запрос работает нормально. Я возвращаю пользователя с ожидаемым списком адресов.

var user = _dataContext.Users
                .Where(u => u.UserName == username)
                .IncludeFilter(u => u.Addresses.Where(a => !a.Deactivated.HasValue))
                .SingleOrDefault();

Но следующий запрос приводит к его развалу.

var user = _dataContext.Users
                .Where(u => u.UserName == username)
                .IncludeFilter(u => u.Addresses.Where(a => !a.Deactivated.HasValue).Select(a => a.AddressType))
                .SingleOrDefault();

Я вернул пользователя, но теперь мой список адресов пуст.

Я использую EF6 и EF+ v1.7.14.0

Заранее спасибо всем, кто может помочь.

Ура Крэйг

1 ответ

Arrgh! Что за допинг! Мне нужно сделать это в двух утверждениях... что действительно имеет смысл. Я выбирал тип адреса и оставлял адрес позади.

Мой запрос должен быть следующим:

var user = _dataContext.Users
                .Where(u => u.UserName == username)
                .IncludeFilter(u => u.Addresses.Where(a => !a.Deactivated.HasValue))
                .IncludeFilter(u => u.Addresses.Where(a => !a.Deactivated.HasValue).Select(a => a.AddressType))
                .SingleOrDefault();

Спасибо мне Ты чемпион!

Другие вопросы по тегам