我使用实体框架。假设我有一个方法:
public IEnumerable<User> GetUsers() // return IEnumerable<User>
{
using (var context = new AppDbContext())
{
return context.Users;
}
}
现在我打电话的时候:
var users = GetUsers();
此操作是否会执行数据库查询?
答案 0 :(得分:3)
如果你不做任何事情,那就不行,不。
但是,如果你试图迭代结果(或调用Count()
等),那么它将尝试进行数据库调用......然后我会发现它会失败,因为你已经处理掉了那时的背景。