可以尝试优化这段代码,将其合并为一个查询,避免了两次查询数据库的开销:

var lastOrders = from b in Db.GetIQueryable<Charging_Order>()
                where !b.Deleted && 
                      lastOrderIds.Contains(b.Id)
                group b by b.ChargingGunId into g
                select g.OrderByDescending(x => x.ChargingBeginTime).FirstOrDefault();

这段代码将查询条件合并到一个 where 子句中,并在 group by 和 select 子句中直接获取 ChargingBeginTime 最新的订单。这样就可以减少一次数据库查询,提高代码的效率。

优化 Linq 查询:合并查询减少数据库访问次数

原文地址: https://www.cveoy.top/t/topic/pVnF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录