优化Linq代码可以通过以下方式进行:

  1. 避免在Linq查询中使用多个from子句,可以使用join关键字来连接不同的数据源。
  2. 使用索引来提高查询性能,例如在数据库中创建索引来加快查询速度。
  3. 避免不必要的数据转换和处理,只选择需要的字段和数据。
  4. 尽量减少查询中的循环次数和重复计算,可以使用ToList()方法将查询结果转换为列表,然后在内存中进行操作。
  5. 使用FirstOrDefault()方法来获取第一个匹配的结果,而不是使用OrderByDescending()方法来排序整个结果集。

根据上述优化建议,可以对代码进行如下优化:

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

var lastOrder = (from b in Db.GetIQueryable<Charging_Order>() join a in lastOrderId on b.Id equals a into tmp1 from bb in tmp1.DefaultIfEmpty() select bb).ToList()

优化Linq var lastOrder = from b in DbGetIQueryableCharging_Order where !bDeleted group b by bChargingGunId into g

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

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