我的asp.net MVc Web应用程序中有以下模型方法: -
public IQueryable<User> searchusers(string q, int id)
{
return from u in entities1.Users
where (!u.Users_Classes.Any(c => c.ClassID == id) && (u.UserID.Contains(q))
select u;
}
将使用以下操作方法调用: -
[AcceptVerbs(HttpVerbs.Post)]
public PartialViewResult Search(string q, int classid)
{
var users = r.searchusers(q, classid).ToList();
ViewBag.id = classid;
// code does here
}
现在如果我从我的动作方法中删除.ToList()代码仍然可以正常工作,那么使用.ToList()方法会带来任何优点或功能吗? BR
修改: - 这是我的动作方法的完整代码: -
[AcceptVerbs(HttpVerbs.Post)]
public PartialViewResult Search(string q, int classid)
{
var users = r.searchusers(q, classid).ToList();
ViewBag.id = classid;
return PartialView("_usersearch", users);
}
答案 0 :(得分:2)
当您调用ToList时,您要求实体框架立即执行查询,然后您将使用内存集合。否则,循环结果时将执行查询。