【发布时间】:2017-10-04 15:08:42
【问题描述】:
我在 C# Razor MVC 项目中对 MySQL 数据库进行了以下 LINQ 查询。
private Dictionary<DateTime?, int> getOrderQuantityDict(DateTime start, DateTime end, int siteCode)
{
return (from o in thisDataEntities.this_table
where o.created_at >= start
&& o.created_at <= end
&& o.store_id == siteCode
select new { OrderDate = o.created_at, Id = o.entity_id})
.GroupBy(q => q.OrderDate)
.ToDictionary(q => q.Key, q => q.Count());
}
我需要按天分组。现在 q.OrderDate 有小时、分钟和秒。我需要在分组时忽略这些。
棘手的部分:我需要在没有TruncateTime() 的情况下执行此操作。当我们的主机移动我们的数据库时,由于某种原因,我们失去了使用TruncateTime() 的能力。我们的主机在这个问题上帮助不大,我希望有一个解决方法。
【问题讨论】:
-
你可以试试:
.GroupBy(q => q.OrderDate.Date) -
@JeroenvanLangen - 我担心 Linq to Entities 将无法将属性
.Date转换为 SQL
标签: c# mysql asp.net-mvc linq razor