SQL:DataTable dt1 = dataProviderSurvey.ProduceData("select count(*) as count from examine_content where examineid = '" + sExamineid.ToString() + "'");
foreach (DataRow dr1 in dt1.Rows)
{
return dr1["count"].ToString(); //dr1["count"] 就是上面SQL的as COUNT
}
return "";
我改的LINQ:
var result = (from c in ecRep.GetAll()
where c.EXAMINEID == eid
select new { count = c }).Count();
这样会报以下的错:
列“count”不属于表 。
ecRep.GetAll().Count(m=>m.EXAMINEID == eid)
你这样写, as count 你没处理啊 不跟我写的是一个意思。
foreach (DataRow dr1 in dt1.Rows)
{
return dr1["count"].ToString(); //dr1["count"] 就是上面SQL的as COUNT
}
foreach的时候,这个count就拿不到这个列了
@许大虾: 原来的sql能返回多个结果吗?还是只有一个结果?如果有多个结果.那我这个就是错的.
如果只有1个结果.as count就没意义了.取出来还是一个整数变量
@吴瑞祥: 所以我现在就是请教下你们怎么处理啊
@许大虾: ````我上面写了撒.你觉得我那样写有什么问题?
如果只是要Count的话,而不是要as,那么你的LINQ改成如下即可。
var result = (from c in ecRep.GetAll()
where c.EXAMINEID == eid
select c).Count();
你这样不跟我写的一样》? = =