LINQ及EntityFramework何时从数据库返回数据,备忘
Generally speaking, LINQ queries are executed when the application code processes data (for instance, using a foreach or a for) or when certain methods are invoked (ToList, ToArray, First, Single, and so on).
下面的方法将会查询两次数据库:
var result = LINQToEntitiesQuery; foreach(var o in result) { ... }
foreach(var o in result)
{
...
}
为了避免这种情况引起的性能问题,这种情况下需要将数据提前ToList(),代码如下:
var orders = LINQToEntitiesQuery.ToList(); foreach(var o in orders) { ... } foreach(var o in orders) { ... }
桂棹兮兰桨,击空明兮溯流光。
分类:
SQL相关
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 中的改进
· 当数据爆炸遇上SQL Server:优化策略全链路解析
· 记录一次线上问题排查:JDK序列化问题
· 微服务之间有哪些调用方式?
· 记一次SQL隐式转换导致精度丢失问题的排查
· DeepSeek又在节前放大招!
· 分享5款开源、美观的 WinForm UI 控件库
· 领域驱动的事实与谬误 一 DDD 与 MVC
· 从零到一搭建一个前端工具函数库
· 4种插值算法