具有聚合函数和连接条件的LINQ查询
本文关键字:条件 LINQ 查询 连接 函数 | 更新日期: 2023-09-27 18:01:42
我有以下非常简单的SQL查询:
select Sum(m.unitPrice * mtp.units) charges
from tbl_Medicines m, tbl_MedicineToPatient mtp
where m.medicineId = mtp.medicineId and mtp.patientId = 1001
我需要将此查询转换为Linq到实体查询。我尝试了以下方法(我知道这是错误的):
var varQuery = (from med in hmsdatabase.TblMedicines
join medtopat in hmsdatabase.TblMedicineToPatients
on med.MedicineId equals medtopat.MedicineId
let jjj = new { med, medtopat}
where medtopat.PatientId == 1001
select jjj.Sum(med.UnitPrice * medtopat.Units)
).First();
我知道这没有意义。任何形式的帮助都是感激的。我没能找到一个帖子,其中有一个查询是在LINQ格式,包含聚合函数,连接条件和(乘法)操作对两个不同的表的字段。
应该是
var total = (from med in hmsdatabase.TblMedicines
join medtopat in hmsdatabase.TblMedicineToPatients
on med.MedicineId equals medtopat.MedicineId
where medtopat.PatientId == 1001
select med.UnitPrice * medtopat.Units
).Sum();