我想运行一个linq查询,该查询将返回值到我的自定义DTO。这个特定的linq查询将需要考虑来自多个表的联接,使用switch case语句,count(*)和Linq查询与表连接,case语句,count,group by子句
这是查询的SQL版本示例,我将需要LinQ等效项...
select
slm.SLType,
count(c.EStatID) as EStat,
COUNT(cpd.TrId) as Training,
COUNT(
CASE WHEN cpd.TrStat= 44 THEN 1
WHEN cpd.TrStat!= 44 THEN NULL
WHEN cpd.TrStat IS NULL THEN NULL
END) as TrainingComplete,
COUNT(
CASE WHEN cpd.CndAssess = 44 THEN 1
WHEN cpd.CndAssess != 44 THEN NULL
WHEN cpd.CndAssess IS NULL THEN NULL
END) as AssessmentComplete
from TabC c , TabCPD cpd, TabSLM slm
where cpd.SLid = slm.SLid
and c.Id= cpd.CID
and c.O_Id = 1
group by slm.SLType
它以下列格式返回记录。我将每条记录都放在一个换行符中,并用逗号分隔。下面的数字只是作为一个例子
TypeA, 0 , 1 , 1, 0
TypeB, 1 , 0 , 1, 0
我试图创建类似下面的一个没有多少运气的格式LINQ查询
MyCustomTableC_DTO将在每个字段属性查询。任何想法如何做到这一点?查询我将用它来建立类型的列表MyCustomTableC_DTO
感谢您的时间...
您可以将表前缀('c.','cpd.','slm.')添加到您的查询中,以便我们知道哪个列属于哪个表? – Diego 2012-02-19 19:24:24
完成。编辑的问题。 – user20358 2012-02-19 19:55:42