文档章节

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

taadis
 taadis
发布于 2017/08/30 09:44
字数 171
阅读 80
收藏 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();

© 著作权归作者所有

共有 人打赏支持
上一篇: C# 单例模式
下一篇: tabindex
taadis
粉丝 1
博文 433
码字总数 65473
作品 0
温州
其他
私信 提问
深入调研Linq to Objects Join Linq to Entity

最近工作中遇到数据库组合查询带来的一些问题,因此有必要调研一下Linq to Objects Join Linq to Entity。参考一些网友的代码案例,深入实践了一下使用EntityFramework Code First 下的组合查...

amboo
2017/12/19
0
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. 静态...

莫问今朝乄
2018/02/01
0
0
C# Idioms: Enum还是Enum Class(枚举类)

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

晨曦之光
2012/03/09
252
0
菜菜从零学习WCF十(序列化)

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

aehyok
2013/03/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

深度学习为图片人物换装【python代码教程】

在观看本文之前,请答应我要善良。昨天预告了下,发现很多同学对这个模型都表示出兴趣,甚至有好多同学后台发来照片让我帮他们脱裤子。授人以鱼不如授人以渔,请这些同学好自为之~ 01效果演示...

阿里云官方博客
21分钟前
1
0
centos7安装RabbitMQ详细过程

由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前,需要先安装Erlang 1、环境: centos 7.1 内核版本3.10.0-229.el7.x86_64 Erlang 19.0.4版本 RabbitMQ 3.6.14版本 2、在线安装E...

秋至丶枫以落
52分钟前
1
0
6个使用KeePassX保护密码的技巧

虽然安全是个深奥的主题,但是你可以遵循几个简单的日常习惯来减小攻击面。本文将解释确保密码信息安全的重要性,并给出如何充分利用KeePassX的建议。 日益互联的数字世界使安全成为一个重要...

Linux就该这么学
54分钟前
1
0
UnsatisfiedLinkError sawindbg.dll

方法:搜索sawindbg.dll,然后将文件报错的目录下

洛水
今天
5
0
说说不知道的Golang中参数传递

本文由云+社区发表 导言 几乎每一个C++开发人员,都被面试过有关于函数参数是值传递还是引用传递的问题,其实不止于C++,任何一个语言中,我们都需要关心函数在参数传递时的行为。在golang中...

腾讯云加社区
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部