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

Posted xiaonangua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法创建类型的常量值。此上下文仅支持基元类型或枚举类型。相关的知识,希望对你有一定的参考价值。

源代码

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

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

//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
                       };

 

以上是关于无法创建类型的常量值。此上下文仅支持基元类型或枚举类型。的主要内容,如果未能解决你的问题,请参考以下文章

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

无法创建类型为“x”的常量值。此上下文仅支持原始类型或枚举类型

实体框架,无法创建类型为“XX”的常量值。此上下文仅支持原始类型或枚举类型

无法创建类型为“EShop.ClassLibrary.ProductType”的常量值。此上下文仅支持原始类型或枚举类型

此上下文仅支持原始类型或枚举类型

无法将类型“System.Nullable`1”强制转换为类型“System.Object”。LINQ to Entities 仅支持强制转换 EDM 基元或枚举类型。