【问题标题】:difference of a parsed context (.toList()) and not parsed context已解析上下文 (.toList()) 与未解析上下文的区别
【发布时间】:2014-02-06 10:57:45
【问题描述】:

我是 ASP.NET MVC 的新手。现在,我在网上搜索了.toList() 的作用。

使用 ToList() 方法强制 LINQ 查询立即执行

调用 ToList() 方法,你强制 LINQ 立即执行并且 返回实际结果。

但这两者有什么区别。

return View(db.Items)return View(db.Items.ToList())

因为我仍然可以在我的页面中看到相同的结果。

【问题讨论】:

    标签: c# asp.net linq


    【解决方案1】:

    我猜View(db.Items.ToList()) 语句首先执行ToList() 方法并从数据库中获取结果并传递给视图。

    View(db.Items) 第一次调用带有 LINQ 查询和视图的视图将调用 ToList 方法从数据库中获取列表(后期绑定)。

    【讨论】:

    • 那么哪个更受欢迎?所以你的意思是,一旦你将结果传递给视图,无论它是否解析,它都会执行.ToList()?
    • 看看这里:stackoverflow.com/questions/3628425/… 但基本上通过使用ToList() 强制查询立即执行,您可能会失去延迟执行的一些好处(不使用ToList()),可能还有一些其他福利。但看看帖子​​,它可能会有所帮助。此外,您可能不想先将所有对象保存在内存中,然后再使用它们:stackoverflow.com/questions/334579/do-you-tolist
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多