当我从数据库中获取数据时,我使用这种风格
public class User
{
public static List<User> GetUsers()
{
List<User> users = new Users();
using ( var context = new DataContext())
{
users = context.Users.ToList();
}
return users;
}
}
从数据库中获取数据后,我想过滤用户喜欢这个
List<User> userResultList = User.GetUsers();
userResultList.Where(u => u.IsActive == true);
但无法过滤,我收到此错误
ObjectContext实例已被释放,无法再使用 对于需要连接的操作。
我的问题: 可以在DataContext处理后过滤结果对象吗?
非常感谢您的支持。
更新!!!
我认为我可以在方法范围内创建新的DbContext,我想要检索数据
这是否足够好?
实施例
public class User
{
public static List<User> GetUsers()
{
List<User> users = new Users();
var context = new DataContext())
users = context.Users.ToList();
return users;
}
}
答案 0 :(得分:0)
我想知道你克隆列表是否会解决错误?
User[] L = new User[users.Count];
users.CopyTo(L);
猜测:
你看起来应该在表面上起作用。
我想知道ToList()返回的东西是否是从列表继承的东西,并且内部保留了一些隐藏的上下文感知。
我现在无法测试这个想法。稍后要考虑的事情。