我是 EF 的新手,我正在尝试使用一种扩展方法,它将我的 Database 类型转换User
为我的 info 类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 的正确方法是什么?