【发布时间】:2012-10-10 11:11:52
【问题描述】:
我有两张桌子
PatientEncounterDemo 和 PatientMaster
PatientEncounterDemo:
PateientID(F.K int),
DoctorId( F.K int),
ProcedureName
PatientMaster:
PatientId(P.K identity)
PatientFirstName(varchar(50)),
PatientLastName(varchar(50)),
PatientDOB
我需要提取 PatientName(patientFirstName_+patientLastName)、patientDOB 和分配给特定患者的程序计数(一个患者可以分配许多程序)
我已经为该结果编写了 SQL 查询:
//This puts the join inside count-
select distinct PatientFirstName+ ' ' + PatientLastName as PatientName,PatientDOB,COUNT(ProcedureName) as [Proc Count] from
(
select distinct p.PatientFirstName,p.PatientLastName,p.PatientDOB,e.ProcedureName
from PatientMaster p,PatientEncounterDemo e
where p.PatientId=e.PatientId and e.DoctorId=1
)as mytable group by PatientFirstName,PatientLastName,PatientDOB
但是,我正在努力通过 linq 查询来做到这一点。请提出一些建议..!!
【问题讨论】:
-
您使用的是哪个 O/RM 工具?
-
@Steven 我没有使用任何这样的工具..我只是使用 .net 4.0 中提供的 Linq to sql(.dbml) 类
-
LINQ to SQL 是一个对象关系映射器。
-
@Steven 好的..我明白..但是这与我的问题有关吗?
-
它是相关的,因为您的 O/RM 工具的 LINQ 支持始终是您可以使用 LINQ to Objects 执行的操作的子集,并且每个 O/RM 框架都不同。所以给出的答案可能会有所不同。
标签: linq linq-to-sql group-by grouping inner-join