Linq to sql LINQ转换日期时间

Linq 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

我想将此查询转换为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)
我使用了下面的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)
返回的字符串可能与您预期的不同。

请比“不工作”更具体一些