文档章节

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

taadis
 taadis
发布于 2017/08/30 09:44
字数 171
阅读 50
收藏 0

场景重现

在一段 ef 查询中:

var query = db.Users.AsQueryable();
query = query.Where(o => !ignoreUsers.Contains(o)); // 这里用了 !Contains 来实现 not in
var list = query.ToList();

出现如下异常:

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

问题原因

是在查询中使用了复杂类型做in/ not in导致的.

解决办法

Contains中的复杂类型,简化为简单类型再操作,比如:把User改为UserId.

var query = db.Users.AsQueryable();
query = query.Where(o => !ignoreUserIds.Contains(o => o.UserId)); // 这里用了 !Contains 来实现 not in
var list = query.ToList();

© 著作权归作者所有

共有 人打赏支持
taadis
粉丝 0
博文 254
码字总数 37794
作品 0
温州
其他
java枚举的使用, 常量与枚举的区别

public enum Light { } 我们只能够表示出红灯、绿灯和黄灯,但是具体的值我们没办法表示出来。 别急,既然枚举类型提供了构造函数,我们可以通过构造函数和覆写toString方法来实现 首先给Lig...

洋哥6
2016/02/19
1K
2
.NET面试题解析(05)-常量、字段、属性、特性与委托

转自:http://www.cnblogs.com/anding/p/5255492.html 常见面试题目: 1. const和readonly有什么区别? 2. 哪些类型可以定义为常量?常量const有什么风险? 3. 字段与属性有什么异同? 4. 静态...

莫问今朝乄
02/01
0
0
菜菜从零学习WCF十(序列化)

前言 本次课程的主要内容包括以下四格部分:DataContractSerializer、序列化、反序列化、XmlSerializer 第一部分--DataContractSerializer Windows Communication Foundation(WCF)包括新序列...

aehyok
2013/03/28
0
0
C# Idioms: Enum还是Enum Class(枚举类)

原文排版格式:http://www.marshine.com) reversion:2004/5/28 修改说明:感谢Ninputer提到的CLS兼容问题,同时修改了原来版本没有提及的Equals改写,以及修改"=="重载的不完善代码,和增加e...

晨曦之光
2012/03/09
212
0
Go 语言教程(1)——类型系统

类型系统 语言是更好的 语言,很多思想来源于 语言,毕竟 的设计者就是 的设计者在几十年之后再创新高。 变量的声明引入和 一样的关键字 ,不一样的机制, 中声明变量时没有类型, 语言声明的...

流年1004
2017/12/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

造谣造到t-io老巢了

只发当事人的截图,不发表评论,以免有引导嫌疑 PS1:截图是由不同的人发给我的 PS2:本人早就不在此微信群了 PS3:图3是2018-09-23的t-io官方群的一个发言小统计

talent-tan
8分钟前
15
0
heartbeat 资源

drbd+apache+heartbeat : http://blog.51cto.com/11838039/1827901 heartbeat双机热备的架设 : http://blog.51cto.com/11838039/1827560 对heaetbeat的深一步认识 : http://blog.51cto.co......

寰宇01
42分钟前
1
0
Spring 转换 model 为 json 时增加属性

缘起 目前的项目中有个需求是在附件对象转换成 json 时增加个 url 属性,以前的方式是在返回附件对象或列表时候做一次统一处理,这次想看看 spring 或者 jackson fasterxml 是否自带类似功能...

郁也风
今天
1
0
10大PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的 10个开源的Php比特币项目,将有助于你了解在自己的应用中 如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方...

汇智网教程
今天
1
0
springclould feign客户端添加全局参数

用springclould feign作为调用服务的客户端,一般来说参数可以写在feignclient的方法参数里 有时需要所有feign请求都统一添加一些参数,例如token用于鉴权等,可以这样做: 添加一个配置类,...

canneljls
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部