无法创建类型的常量值。此上下文仅支持基元类型或枚举类型。
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 基元或枚举类型。