Я новичок в EF, и я пытаюсь использовать метод расширения, который преобразует из моего типа базы данных User
в мой информационный класс UserInfo
.
Я использую базу данных сначала, если это имеет значение?
Мой код ниже дает ошибку
Операция не может быть завершена, так как был удален DbContext.
try
{
IQueryable<User> users;
using (var dataContext = new dataContext())
{
users = dataContext.Users
.Where(x => x.AccountID == accountId && x.IsAdmin == false);
if(users.Any() == false)
{
return null;
}
}
return users.Select(x => x.ToInfo()).ToList(); // this line is the problem
}
catch (Exception ex)
{
//...
}
Я могу понять, почему он это сделает, но я также не понимаю, почему результат инструкции where не сохраняется в объекте users
?
Итак, я думаю, мой главный вопрос: почему он не работает, а во-вторых, какой правильный способ использования методов расширения и EF?