how to use entity framework to group by date not date with time

后端 未结 2 1786
Happy的楠姐
Happy的楠姐 2020-12-06 16:22

my code:

//get data
var myData = from log in db.OperationLogs
              group log by log.CreateTime.Date  into g
              orderby g.Key
                     


        
相关标签:
2条回答
  • 2020-12-06 16:42

    Use EntityFunctions.TruncateTime Method (Nullable<DateTime>). It will be transalated into TRUNCATETIME() TSQL function in generated SQL query, which does what you need:

    Returns the expression, with the time values truncated.

    So your code should be as follows:

    //get data
    var myData = from log in db.OperationLogs
                 group log by EntityFunctions.TruncateTime(log.CreateTime) into g
                 orderby g.Key
                 select new { CreateTime = g.Key, Count = g.Count() };
    
    0 讨论(0)
  • 2020-12-06 17:00
         var result = from s in entitiesModel.TvysFuelTankDatas
                               orderby s.Datetime ascending
                               group s by new { y = s.Datetime.Year, m = s.Datetime.Month + "/", d = s.Datetime.Day + "/" } into g
                               select new WellDrillData { Date = Convert.ToDateTime(g.Key.d.ToString() + g.Key.m.ToString() + g.Key.y.ToString()), Depth = (double)g.Sum(x => x.Difference) };
    
                  List<WellDrillData> dailyFuelConsumptions = result.ToList();
    
    0 讨论(0)
提交回复
热议问题