我正在使用linq-to-sql在db的处方表和患者呼叫PatientList列表之间创建一个连接。加入多个条件
假设表格和列表包含一个名为PatientID的int,我将使用该int来创建联接,以按过去处方状态过滤患者列表。
我对where子句有挑战。处方的状态范围从1到6.每个患者可以有许多不同的处方。我正在从患者列表中删除已经处于某些状态的患者。我希望所有至少有一张处方状态为5,但没有状态4和6的患者,而状态1,2,3可以。因此,例如患者a)3,1,5,3,2或b)3,5,5,1,3可以但是c)2,1,5,6,2或d)1,3, 4,2,1都不行,因为第一个包含6,第二个没有5.
这是我到目前为止有:
var TheOutput = from patients in PatientList
join prescrip in MyDataContext.Prescriptions on
patients.PatientID equals prescrip.PatientID
where prescrip.PrescripStatus == 5 &&
我卡住了,因为如果我做这样的事情,我会有案件c)结果确定。
感谢您对此查询问题的建议。