SQL to LINQ: Calculate Charge Capacity by Year, Month, and Day
var startTimeYear_1 = new DateTime(2023, 1, 1, 0, 0, 0); var endTimeYear_2 = new DateTime(2023, 12, 31, 23, 59, 59, 999); var startTimeMonth_3 = new DateTime(2023, 7, 1, 0, 0, 0); var endTimeMonth_4 = new DateTime(2023, 7, 31, 23, 59, 59, 999); var startTimeDay_5 = new DateTime(2023, 7, 4, 0, 0, 0); var endTimeDay_6 = new DateTime(2023, 7, 4, 23, 59, 59, 999);
var chargeCapacityYear = (from c0 in Charging_Order join e1 in Equipment_ChargingGunsInfo on c0.ChargingGunId equals e1.Id join e2 in Equipment_ChargingPileInfo on e1.ChargingPileId equals e2.Id where !c0.Deleted && !e1.Deleted && e1.IsEnable && !e2.Deleted && e2.IsEnable && e2.EnterpriseId == '1638003434462388224' && c0.ChargingBeginTime >= startTimeYear_1 && c0.ChargingBeginTime <= endTimeYear_2 select (double?)c0.ChargeCapacity ?? 0.0).Sum();
var chargeCapacityMonth = (from c1 in Charging_Order join e3 in Equipment_ChargingGunsInfo on c1.ChargingGunId equals e3.Id join e4 in Equipment_ChargingPileInfo on e3.ChargingPileId equals e4.Id where !c1.Deleted && !e3.Deleted && e3.IsEnable && !e4.Deleted && e4.IsEnable && e4.EnterpriseId == '1638003434462388224' && c1.ChargingBeginTime >= startTimeMonth_3 && c1.ChargingBeginTime <= endTimeMonth_4 select (double?)c1.ChargeCapacity ?? 0.0).Sum();
var chargeCapacityDay = (from c2 in Charging_Order join e5 in Equipment_ChargingGunsInfo on c2.ChargingGunId equals e5.Id join e6 in Equipment_ChargingPileInfo on e5.ChargingPileId equals e6.Id where !c2.Deleted && !e5.Deleted && e5.IsEnable && !e6.Deleted && e6.IsEnable && e6.EnterpriseId == '1638003434462388224' && c2.ChargingBeginTime >= startTimeDay_5 && c2.ChargingBeginTime <= endTimeDay_6 select (double?)c2.ChargeCapacity ?? 0.0).Sum();
var result = new { ChargeCapacityYear = chargeCapacityYear, ChargeCapacityMonth = chargeCapacityMonth, ChargeCapacityDay = chargeCapacityDay };
原文地址: https://www.cveoy.top/t/topic/psfH 著作权归作者所有。请勿转载和采集!