0

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 to Entities クエリに変換する必要があります。私は次のことを試しました(間違っていることはわかっています):

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 形式のクエリを持ち、集計関数、結合条件、および 2 つの異なるテーブルのフィールドに対する (乗算) 演算を含む投稿を見つけることができませんでした。

4

1 に答える 1

2

ただあるべき

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();

これは、コレクションではなく単一の値を返すことに注意してください。

于 2013-02-28T22:07:54.380 に答える