首页 > 解决方案 > Asp.Net Web 应用程序中的 linq 查询“必须是可简化节点”错误

问题描述

我有以下查询不适用于“必须是可简化节点”错误。似乎对 SQL 代码的翻译无法正常工作。我厌倦了使用 DbFunctions.CreateDateTime 但它给出了完全相同的结果。我做错了什么?

            var query = from i in _context.Schedule
                        group i by new { i.Date.Month, i.Date.Year } into g
                        where new DateTime(g.Key.Year, g.Key.Month, 1) >= eDate
                        select g.Key;

标签: c#asp.netentity-frameworklinq

解决方案


我怀疑您使用的是有限制的 Core。尝试以下:

var query = _context.Schedule.Where(g => new DateTime(g.Year, g.Month, 1) >= eDate)
     .GroupBy(i => new { i.Date.Month, i.Date.Year })
     .Select(g => g.Key); 

推荐阅读