如何将此Sql查询转换为LINQ



我想将下面的查询转换为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    
}

查看这篇文章:http://msdn.microsoft.com/en-us/library/bb882657.aspx

var date = DateTime.Parse("21/04/2011");
var result = from datapointvalues in db.DatapointValues
             where datapointvalues.ReceivedDate.Date.equals(date)
             group datapointvalues by datapointvalues.ReceivedDate.Date
             into g
             select new
             { 
                 ChartAvg = g.Average(p => p.currentvalue),
                 RecDate = g.Key
             };

相关内容

  • 没有找到相关文章

最新更新