当前位置: 首页 > news >正文

网站建设流程步骤上海网站快速优化排名

网站建设流程步骤,上海网站快速优化排名,在线做高中试卷的网站,做dhl底单的网站是 什么【More Effective C#】IEnumerable和IQueryable的那点事 2010-10-22 08:08 by 空逸云, 2299 阅读, 22 评论, 收藏, 编辑 IEnumerable,IQueryable之前世今生 IEnumerable<T>在.Net2.0中我们已经很熟悉了.你想要利用Foreach迭代吗?实现IEnumerable<T>吧!你想直接做为…

【More Effective C#】IEnumerable和IQueryable的那点事

2010-10-22 08:08 by 空逸云, 2299 阅读, 22 评论, 收藏, 编辑

IEnumerable,IQueryable之前世今生

            IEnumerable<T>在.Net2.0中我们已经很熟悉了.你想要利用Foreach迭代吗?实现IEnumerable<T>吧!你想直接做为数据源绑定到控件吗?使用IEnumerable吧!是的.只要是序列.它都实现了IEnumerable<T>(.Net1.0下的序列类除外).除了这些.LINQ的出现.还赋予了IEnumerable<T>更强悍的功能.IQueryable<T>继承IEnumerable<T>.详细看IEnumerable<T>和IQueryable<T>这两个API的签名.可以说非常相似.从某种意义上来说.它们是可以互换的.但是却不总是可以互相代替的.IEnumerable<T>和IQueryable<T>的行为有所不同.其性能方面也可能天差地别.例如:

var q = from c in dbContext.Customerswhere c.City == "shenzhen"select c;var q = (from c in dbContext.Customerswhere c.City == "shenzhen"select c).AsEnumerable();

这两个查询看起来几乎一模一样.查询返回的结果也一样.但他们的实现方式却大相径庭.第一个查询使用了LINQ2SQL的处理方式.第二个查询则使用了LINQ2Object处理.通过前面的学习.我们知道,LINQ2Object的处理结果是把LINQ表达式映射成对应的委托,而LINQ2SQL则是保存了一系列的"步骤"---表达式树的处理方式.两者的区别简单的理解就是LINQ2Object将数据存放在内存中.而LINQ2SQL则是把数据存放在远程的服务器中.

场景模拟

       举一个例子.现在有两个水果批发商A,B..A除了是批发商,自己还承包了几个果场.自产自销.B和几个大型的果场合作.只做批发工作.每次客人来A订货.指定要什么货物,A就可以立刻拿出.速度快.服务佳.缺点是由于是自己的果场.那量肯定不大,而且品种不齐全,小作坊式的经营.B呢?每次客户订单.B是先把客户需要的货物规格等记录下来.一次性去各个果场取货.这样B的优点就是量大.品种多.但速度可能偏慢(收到货的时间).不过若B以A的销售方式来销售.那么B的效绩肯定是让人十分不满意,工厂式的经营.

         总结之,IEnumerable<T>查询必须在本地执行.并且执行查询前我们必须把所有的数据加载到本地.而且更多的时候.加载的数据有大量的数据是我们不需要的无效数据.但是我们却不得不传输更多的数据.做更多的无用功.而IQueryable<T>却总能只提供你所需要的数据.大大减少了数据的传输.这就好比我们在小作坊下订单.小作坊老板跟我们说.他的货刚好比你所需要的多出一些.你只能要了它.不然剩下一点他不好卖等等.而大工厂却不会出现这种状况.

个性要求

虽说小作坊很多弊病.但有时候却有着大工厂无法媲美的服务.假如你需要一种八种水果组合套餐.大工厂一般不会为你量身定做.单对单服务.相反.小作坊客源有限.一般都会满足你的个人需求.

场景切换:在<<[More Effective C#]Lambda表达式优化>>里我们提到过.LINQ2SQL中是不允许出现自定义方法的.这是由于LINQ2SQL的处理方式.详见<<[More Effective C#]Lambda表达式优化>>.而LINQ2Object却能很好的满足我们自定义方法这个性化的要求.

但是.除了自定义方法.还有一些内置的方法IEnumerable<T>和IQueryable<T>是同时支持的.例如常见的string类的操作方法.substring,indexof等等.

尾声

      可能这个例子在这里有些牵强.但相信IEnumerable<T>和IQueryable<T>之间的区别不难理解.更多时候我们在查询序列的时候.要考虑到底是本地查询好.还是远程查询好.至于哪种查询更好.没有绝对的说法.适合应用环境,已经能发挥最大效应的.那就是最好的.

作者:空逸云
出处:http://kongyiyun.cnblogs.com 
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/ppcompany/articles/2701956.html

http://www.lbrq.cn/news/2550133.html

相关文章:

  • wordpress在百度排名靠前seo经验是什么
  • 北京企业网站搭建油烟机seo关键词
  • 天津市建设 中标公示网站东莞疫情最新通知
  • 网站建设设计技术方案模板下载如何推销产品给客户
  • 织梦美女图片网站模板站长工具永久
  • 制作企业网站页面多少钱seo是指
  • 提供购物网站建设新闻发布最新新闻
  • 做网站就是做服务成都百度推广电话号码是多少
  • 奢侈品网站设计沈阳seo网站关键词优化
  • 钦州网站建设广东企业网站seo哪里好
  • 关于做公司网站网络推广项目外包公司
  • 网站被恶意关键字访问重庆seo网络推广关键词
  • 股票专业网站seo电商运营是什么意思
  • wordpress主题 破解主题下载地址seo查询工具网站
  • 东莞阳光网appseo搜索优化公司排名
  • .net如何做网站游戏行业seo整站优化
  • 高端定制网站设计上海网络营销seo
  • 外贸公司都是在什么网站做推广镇江抖音seo
  • 厦门网站建设培训机构免费网站友情链接
  • 犀牛云做网站怎么这么贵外贸平台有哪些?
  • php网站开发 实战教程aso优化吧
  • 口碑好的网站定制公司关键词林俊杰mp3下载
  • 化妆品做网站流程百度广告投放收费标准
  • 上海自助建站企业免费b2b网站推广渠道
  • 购物网站的首页是静态百度广告太多
  • 做网站弄关键词多少钱禁止搜索引擎收录的方法
  • 动漫视频网站开发网上引流推广怎么做
  • 修改wordpress标签大小seo权重优化软件
  • 温州建设网站公司搜索引擎优化英文简称
  • 贸易公司寮步网站建设太原网络推广公司
  • Text2SQL:如何通过自然语言直接获取数据,打破技术壁垒?
  • JAVA国际版同城服务同城信息同城任务发布平台APP源码Android + IOS
  • 数字化生产管理系统设计
  • 江协科技STM32 13-1 PWR电源控制
  • npm报错:npm install 出现“npm WARN old lockfile”
  • 【暑期每日一题】洛谷 P9390 金盏花