【发布时间】:2014-02-06 10:57:45
【问题描述】:
我是 ASP.NET MVC 的新手。现在,我在网上搜索了.toList() 的作用。
使用 ToList() 方法强制 LINQ 查询立即执行
调用 ToList() 方法,你强制 LINQ 立即执行并且 返回实际结果。
但这两者有什么区别。
return View(db.Items) 和 return View(db.Items.ToList())
因为我仍然可以在我的页面中看到相同的结果。
【问题讨论】:
我是 ASP.NET MVC 的新手。现在,我在网上搜索了.toList() 的作用。
使用 ToList() 方法强制 LINQ 查询立即执行
调用 ToList() 方法,你强制 LINQ 立即执行并且 返回实际结果。
但这两者有什么区别。
return View(db.Items) 和 return View(db.Items.ToList())
因为我仍然可以在我的页面中看到相同的结果。
【问题讨论】:
我猜View(db.Items.ToList()) 语句首先执行ToList() 方法并从数据库中获取结果并传递给视图。
和View(db.Items) 第一次调用带有 LINQ 查询和视图的视图将调用 ToList 方法从数据库中获取列表(后期绑定)。
【讨论】:
.ToList()?
ToList() 强制查询立即执行,您可能会失去延迟执行的一些好处(不使用ToList()),可能还有一些其他福利。但看看帖子,它可能会有所帮助。此外,您可能不想先将所有对象保存在内存中,然后再使用它们:stackoverflow.com/questions/334579/do-you-tolist