无法创建类型的常量值。此上下文仅支持基元类型或枚举类型。

源代码

错误:无法创建类型的常量值。此上下文仅支持基元类型或枚举类型。

报错原因就是因为下面标红的那一行

//hourApplys 的类型是IQueryable
 var hourApplys = hourApplyList.OrderBy(h => h.Id).Skip((pageIndex - 1) * pageSize).Take(pageSize);
            var list = from h in hourApplys
                       select new HourApplyVM
                       {
                           Id = h.Id,
                           UserId = h.UserId,
                           SubjectName = h.SubjectName,
                           Type = h.Type,
                           TypeName = h.Type == 1 ? "专业科目" : "行业公需",
                           EducationWay = h.EducationWay,
                           EducationWayName = (EducationWayDic.Keys.Contains(h.EducationWay) ? EducationWayDic.FirstOrDefault(d => d.Key == h.EducationWay).Value : ""),
                           Hours = h.Hours,
                           CreateTime = h.CreateTime,
                           AuditState = h.AuditState,
                           AuditDate = h.AuditDate,
                           AuditRemark = h.AuditRemark,
                           Remark = h.Remark
                       };

修改后的代码

//hourApplys 的类型是List
 var hourApplys = hourApplyList.OrderBy(h => h.Id).Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
            var list = from h in hourApplys
                       select new HourApplyVM
                       {
                           Id = h.Id,
                           UserId = h.UserId,
                           SubjectName = h.SubjectName,
                           Type = h.Type,
                           TypeName = h.Type == 1 ? "专业科目" : "行业公需",
                           EducationWay = h.EducationWay,
                           EducationWayName = (EducationWayDic.Keys.Contains(h.EducationWay) ? EducationWayDic.FirstOrDefault(d => d.Key == h.EducationWay).Value : ""),
                           Hours = h.Hours,
                           CreateTime = h.CreateTime,
                           AuditState = h.AuditState,
                           AuditDate = h.AuditDate,
                           AuditRemark = h.AuditRemark,
                           Remark = h.Remark
                       };

 要保证数据类型相同,比如都是List,因为我的EducationWayDic是List,但hourApplys 是IEnumerable,所以报异常了

原文地址:https://www.cnblogs.com/xiaonangua/p/10861456.html