я извлечение данных из базы данных (с Entity Framework) с использованием DTOS:Загрузка виртуальных свойств
IQueryable<User> users = repository.ListFiltered<User>(n => n.Active);
var usersDTO = from user in users
select new UserAccountDTO{
UserId = user.Id,
UserName = user.Name,
InstitutionName = user.Institution.Name,
InstitutionCountry = user.Institution.Country.Name
};
Я делаю это потому, что пользователя объекта, а учреждения субъекта, есть много данных, которые мне сейчас не нужны, поэтому я не хочу извлекать их из базы данных.
Но проблема в том, что мне не нравится код, я хотел бы разделить код и объединить выбранные, есть ли все равно сделать это?
Я хотел бы, чтобы прийти к чему-то вроде:
users.LoadUserData().LoadInstitutionData();
Что вы говорите? Является ли это возможным?
поэтому 'Institution' является навигационной собственностью' User'. Почему бы вам просто не «выбрать» в вашем репозитории.ListFiltered? а затем выполните '.ToList()' в конце концов, потому что вы пытаетесь достичь, даже сложный, а не аккуратный. –
Поскольку я не хочу извлекать все данные, мне нужны только некоторые поля и в некоторых условиях ... –