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

源代码

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

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

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

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

时间: 2024-08-27 14:39:17

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

Entity FreamWork 无法创建“System.Object”类型的常量值。此上下文仅支持基元类型或枚举类型错误解决

Entity FreamWork 无法创建“System.Object”类型的常量值.此上下文仅支持基元类型或枚举类型错误解决: 最近在开发中把我原来抄的架构里面的主键由固定的Guid改成了可以泛型指定的类型,结果,发现执行EF在查询的时候,不能支持equal,只能用==,理由很简单,因为equal是object的方法,虽然所有的类都是object的子类,但是ef不支持复杂类型的直接检索,只能用简单类型,比如常用的string,int,guid,这些,都可以做==,也可以用来检索.但是比如Per

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

Entity FreamWork 无法创建“System.Object”类型的常量值.此上下文仅支持基元类型或枚举类型错误解决: 最近在开发中把我原来抄的架构里面的主键由固定的Guid改成了可以泛型指定的类型,结果,发现执行EF在查询的时候,不能支持equal,只能用==,理由很简单,因为equal是object的方法,虽然所有的类都是object的子类,但是ef不支持复杂类型的直接检索,只能用简单类型,比如常用的string,int,guid,这些,都可以做==,也可以用来检索.但是比如Per

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

// 获取类别表数据 var typeIDList = new List<int> { 2, 3, 4, 5, 6, 7 }; var typeList = db.T_Dictionary .Where(d => typeIDList.Contains(d.TypeID)) .Select(d => new { d.TypeID, d.DKey, d.DValue }).ToList(); //获取植物的数据 var data = db.T_Plants2.Where(d =>

【转】java枚举类型enum的使用

原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义.既然不明白就抽时间研究下吧. Java 中的枚举

2017-9-19C#笔记(LinQ标准运算符,String类,String方法,结构体,静态构造函数,枚举类型,位标识)

在LINQ中的标准查询运算符 写LINQ的时候有两种语法:查询语法和方法语法,其中方法语法是命令形式的,它使用的是标准的方法调用.方法是一组叫做标准查询运算符的方法. 标准查询运算符有一系列叫做API的方法组成,他能让我们查询任何.NET数据集合.有关标准查询运算符的重要特性如下: (1)       被查询的结合对象叫做序列,它必须实现IEnumerable<T>接口, T是类型: (2)       标准查询运算符使用方法语法 (3)       一些运算符返回IEnumberable对象

java 枚举类型enum 的使用

java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义.既然不明白就抽时间研究下吧. Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型.要了解枚举类型,建议大家先

深入理解Java枚举类型(enum)

[版权申明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/71333103 出自[zejian的博客] 关联文章: 理解Java位运算 深入理解Java类型信息(Class对象)与反射机制 本篇主要是深入对Java中枚举类型进行分析,主要内容如下: 理解枚举类型 枚举的定义 枚举实现原理 枚举的常见方法 Enum抽象类常见方法 编译器生成的Values方法与ValueOf方法 枚举与Clas

枚举类型enum

枚举类型的定义 枚举类型(enumeration)是C++中的一种派生数据类型,它是由用户定义的若干枚举常量的集合. 定义格式:枚举类型的定义格式为:    enum <类型名> {<枚举常量表>};其中: 关键字enum——指明其后的标识符是一个枚举类型的名字. 枚举常量表——由枚举常量构成.“枚举常量”或称“枚举成员”,是以标识符形式表示的整型量,表示枚举类型的取值.枚举常量表列出枚举类型的所有取值,各枚举常量之间以“,”间隔,且必须各不相同.取值类型与条件表达式相同. 应用举

Entity Framework 的枚举类型

新增数据模型,新增“实体”之后,新增“枚举类型”,创建Enum值,将“实体”中的列和Enum关联,选中“实体”中的列属性改变类型为Enum名称,生成数据库…… 如下转自:http://item.congci.com/item/entity-framework-meiju-leixing-enum 第一步:先创建一个实体对象,在VS 2012里面实体对象还可以修改实体颜色 第二步:对象已经有了,接着创建一个Type,Type为Enum,内部与外部(Internal and External),在空