很多时候我们在使用linq 查询数据的时候,常常会对数据库和内存进行操作,如果语句逻辑衔接过于紧密,稍不留神,在运行的时候就会提示这个错误。

如下图:

此时StockInQuery就是一个内存对象,如果这个查询没有Tolist()这个方法加持,那么这个集合查询的就是数据对象返回的是IQueryable<T> 类型,

举个例子:

如果没有Tolist情况下,此集合如果通过某个字段的值关联了某个内存对象(List<T>)这个就会报以上的错误,但是Contains除外。

List<ProductItem> productList=new List<ProductItem>();//内存对象

var a =from a in StockInQuery join b in productList on a.ProductId equals b.Id select a;//两个内存对象相关联

如果StockInQuery 还未转化为内存对象,运行的时候就是提示“不能在查询运算符(Contains 运算符除外)的 LINQ to SQL 实现中使用本地序列。”

解决方案:

1.如果非要关联可以将查询的数据库对象转换成内存对象再关联。

2.IQueryable<T>对象遍历后再去关联内存查询。

原因:

LINQ 查询数据库对象的时候,机制是将查询数据库的语意先转化sql语句,这个是通过底层映射机制处理的。试想一下,如果把内存对象去关联,系统肯定是没办法通过映射机制去把内存对象转换成sql的。

不能在查询运算符(Contains 运算符除外)的 LINQ to SQL 实现中使用本地序列。相关推荐

  1. oracle查询游标行数,如何查找Oracle PL/SQL游标中的记录数量?

    NB:我刚才重读你的问题..你要失败的.如果只有1个记录.. 我会后在某一时刻有新的更新.. ,让我们开始在这里.. 从的Oracle®数据库PL/SQL用户指南和参考 10g第2版(10.2) 型号 ...

  2. sql算术运算符_SQL运算符教程–按位,比较,算术和逻辑运算符查询示例

    sql算术运算符 At its core, the internet and all its applications are just data. 互联网及其所有应用程序的核心只是数据. Every ...

  3. sql的加减乘除运算_SQL简单查询语、运算符学习和练习

    本次主要学习了SQL语言的书写和运算,多为实操,一定要多写多思考,综合运用起来. 基本查询语句(select *全部 as替换 distinct删除重复) 指定查询条件(where 从哪里查询) 注释 ...

  4. clob和blob是不是可以进行模糊查询_SQL简单查询语、运算符学习和练习

    本次主要学习了SQL语言的书写和运算,多为实操,一定要多写多思考,综合运用起来. 基本查询语句(select *全部 as替换 distinct删除重复) 指定查询条件(where 从哪里查询) 注释 ...

  5. MySQL数据库中where条件查询(比较运算符查询、逻辑运算符查询、模糊查询、范围查询、空判断查询)

    1. where条件查询的介绍 where条件查询可以对表中的数据进行筛选,条件成立的记录会出现在结果集中. where语句支持的运算符: 比较运算符 逻辑运算符 模糊查询 范围查询 空判断 wher ...

  6. MySQL基础(八):模糊查询的SQL语句、where条件查询、比较运算符查询、逻辑运算符查询、模糊查询、范围查询、空判断查询

    文章目录 where条件查询 1. where条件查询的介绍 2. 比较运算符查询 3. 逻辑运算符查询 4. 模糊查询 5. 范围查询 6. 空判断查询 7. 小结 where条件查询 学习目标 能 ...

  7. 在学习Python基础中需要知道的知识点:运算符大全,收藏,以后方面查询(算术运算符、赋值运算符、比较运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级))

    一.算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被 ...

  8. SQL基础学习总结:3(select语句基础算术运算符比较运算符)

    select语句基础 列的查询 从表中选取数据时需要使用select语句,通过select语句查询并选取出必要数据的过程称为匹配查询或查询. 语法结构如下: select <列名1>,&l ...

  9. NOT运算符与运算符

    6.4.2  NOT运算符与<>运算符 对于简单的条件查询,NOT运算符与<>运算符的功能几乎没有什么区别,那么NOT运算符的优势体现在哪里呢?答案是它可以与其他运算符组合使用 ...

最新文章

  1. 企业分布式微服务云SpringCloud SpringBoot mybatis (九)Spring Boot多数据源配置与使用(JdbcTemplate支持)...
  2. 基2频率抽取实现FFT的Verilog程序
  3. Lesson 16.6Lesson 16.6 复现经典架构:LeNet5 复现经典架构 (2):AlexNet
  4. iis服务器配置php项目,Windows7下IIS+php配置教程
  5. NLP中的Mask全解
  6. 周报_2012第11周(2012/03/11-2012/03/17)
  7. android 软键盘 状态,Android监听软键盘状态
  8. 结合了人工客服和AI的Fin,可能是Siri最大的竞争对手
  9. 基于SSM实现后勤报修系统
  10. 贾维斯雨滴桌面(素材跟教程都有)
  11. LoadRunner详细使用教程
  12. loadlibrary函数失败,错误码:126
  13. 渗透测试 ( 10 ) --- 扫描 web目录、文件 (dirb、wfuzz、wpscan、nikto)
  14. 新至强Mesh架构解析之《西游大灌篮》
  15. iOS 7如何解决相册无法访问的问题?
  16. phpspreadsheet 中文文档(七)技巧和诀窍
  17. 新建Python项目
  18. 计算机网络技术专业职业生涯发展路径
  19. 廖雪峰python教程杨辉三角_廖雪峰--python教程:笔记三
  20. 昔日被质疑,今日摘得图灵奖(经典重温)

热门文章

  1. Linux安装qt完整版教程
  2. OpenGL鼠标控制视角旋转
  3. php redis消息订阅与发布_php+redis 实现发布订阅功能
  4. linux上tomcat版本信息,Linux 查看Tomcat版本信息
  5. (部署新java程序,程序报错,需copy的一个包)——java使用siger 获取服务器硬件信息...
  6. 计算机信息与科学学院青协,【学院青协】计算机青协 | 传递爱心,奉献自我,我们在行动...
  7. c++ 观察者模式(发布—通知)
  8. CentOS安装Nvidia显卡驱动和CUDA
  9. android visible 动画,view 的visible gone动画
  10. 各大浏览器对HTML5和CSS3的特性的支持力度