我在项目中做了个底层 访问数据库泛型类

BaseEFDao<T>

在获取实体模型的时候使用了

Entities.CreateObjectSet<T>().Where(Func<T,bool> 你懂的) 的方法

后来经过使用发现这是一种极其不科学的使用方法。

检测他的执行的sql语句的时候发现 居然是获取了这个表里面的所有的数据然后在程序中使用类似于linq to object的方式执行where

如果表里面的数据量少的话 当然不会发现有什么影响,但是对于大数据量的表就会抛出内存溢出异常

我暂时找到的方法是 对于 大数据的表特殊处理

if(typeof(T)=="大数据的表")

{

  Entities.大数据的表.Where(expression)

}

即可

总结起来还是使用.CreateObjectSet<T>()的时候出现的异常

参考 :

linq to sql中慎用Where<T>(Func<TSource, bool> predicate),小心被Linq给"骗"了!

http://www.360doc.com/content/13/0522/14/432969_287259702.shtml

如果大神有更好的解决办法 还请赐教

最新文章

  1. 1、开篇:公司管理经验谈 - CEO之公司管理经验谈
  2. Vundle的安装
  3. ORACLE rowid切分大表
  4. sql语句查询数据库表结构信息
  5. sortedArrayUsingComparator
  6. Linux服务器上监控网络带宽的18个常用命令(转)
  7. grub配置文件grub.conf详细说明
  8. shell编程三大神器之awk
  9. 基于angular实现模拟微信小程序swiper组件
  10. java怎么发http请求
  11. Mahout LDA 聚类
  12. Android探究之View的绘制流程
  13. 微信小程序自定义组件
  14. ssm框架中从controller传值给jsp的方式
  15. web项目部署以及放到ROOT目录下
  16. ubuntu 删除自带软件的方法
  17. #1075 : 开锁魔法III
  18. 第三章&#160;列表(c)有序列表
  19. 在 Python 中使用 GDB 来调试 转载
  20. python使用md5处理下载图片

热门文章

  1. [New Portal]Windows Azure Virtual Machine (21) 将本地Hyper-V的VM上传至Windows Azure Virtual Machine
  2. Maven提高篇系列之(五)——处理依赖冲突
  3. SQL--Order By
  4. 完美且精准的 IE10- 版本检测。
  5. c# 打开指定的网址
  6. Emit学习(3) - OpCodes - 动态添加属性、构造函数、方法
  7. .NET项目开发的几个非常重要的项目设置
  8. HTTP必知必会
  9. 【开源】Ionic项目实例《Ionic中文社区》
  10. (转)Android 系统 root 破解原理分析