Linq to sql LINQ转换日期时间
我想将此查询转换为LINQLinq to sql LINQ转换日期时间,linq-to-sql,Linq To Sql,我想将此查询转换为LINQ SELECT AVG(currentvalue) AS ChartAvg, CONVERT(varchar(10), ReceivedDate, 103) AS RecDate FROM DatapointValues WHERE (CONVERT(varchar(10), ReceivedDate, 103) = '21/04/2011') GROUP BY CONVERT(varchar(10), ReceivedDate, 103
SELECT AVG(currentvalue) AS ChartAvg, CONVERT(varchar(10), ReceivedDate, 103) AS RecDate
FROM DatapointValues
WHERE (CONVERT(varchar(10), ReceivedDate, 103) = '21/04/2011')
GROUP BY CONVERT(varchar(10), ReceivedDate, 103)
我使用了下面的LINQ,但不工作
from datapointvalues in db.DatapointValues
where
Convert.ToString(datapointvalues.ReceivedDate) == "21/04/2011"
group datapointvalues by new {
Column1 = Convert.ToString(datapointvalues.ReceivedDate)
} into g
select new {
ChartAvg = (System.Decimal?)g.Average(p => p.currentvalue),
g.Key.Column1
}
你不应该将“2011年4月21日”解析为datetime以进行比较,而不是其他方式。在这些方面:
var v = from datapointvalues in db.DatapointValues
where
datapointvalues.ReceivedDate == DateTime.Parse("21/04/2011")
group datapointvalues by new {
Column1 = datapointvalues.ReceivedDate
} into g
select new {
ChartAvg = (System.Decimal?)g.Average(p => p.currentvalue),
g.Key.Column1
}
根据您的本地化设置,Convert.ToString(datapointvalues.ReceivedDate)
返回的字符串可能与您预期的不同。请比“不工作”更具体一些