gpt4 book ai didi

c# - 仅在 Entity Framework 中的 LINQ to MySql 中按日期部分分组

转载 作者:行者123 更新时间:2023-11-30 22:35:43 25 4
gpt4 key购买 nike

我一直试图在忽略 time 部分的同时明智地对表格数据 Date 进行分组。因为我需要在我的数据源中明智地计算 count 日期。对于这一切,我尝试了很多选择但都失败了。

我的第一次尝试

var data1 = from p in context.qry_view_record
where p.INT_ITEM_ID == 1
group p by p.DAT_VIEW_START.Date into g
select new { ViewDate = g.Key, Count = g.Count() };

失败并出现异常 LINQ to Entities 不支持指定的类型成员“Date”。仅支持初始化程序、实体成员和实体导航属性。

第二次尝试

我尝试使用 EntityFunctions 类将查询修改为

 var data1 = from p in context.qry_view_record
where p.INT_ITEM_ID == 1
group p by EntityFunctions.TruncateTime(p.DAT_VIEW_START) into g
select new { ViewDate = g.Key, Count = g.Count() };

失败并出现异常 FUNCTION Mynamespace.TruncateTime does not exist

第三次尝试

我尝试创建一个 User defined MySql Function and stored procedure 来截断时间部分并将过程导入为 FunctionImport

var data1 = from p in context.qry_view_record
where p.INT_ITEM_ID == 1
group p by context.sp_getDate(p.DAT_VIEW_START) into g
select new { ViewDate = g.Key, Count = g.Count() };

异常失败 LINQ to Entities 无法识别方法 'System.Data.Objects.ObjectResult1[System.Nullable1[System.DateTime]] sp_getDate(System.Nullable1[ System.DateTime]) 方法,并且此方法不能转换为存储表达式。

请提出任何解决方法..

最佳答案

使用System.Data.Entity.DbFunctions.TruncateTime代替EntityFunctions.TruncateTime在第二次尝试中。

关于c# - 仅在 Entity Framework 中的 LINQ to MySql 中按日期部分分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32601477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com