微软的Linq为什么还不升级呢?!

我是一个Linq的初学者,我是从LinqToSql入手的学习也不深入。但是就我现在短短的学习经历来说我对微软的Linq还是有意见的。

首先,Linq是作为统一用户访问数据库、Xml文件、文本、以及其他各种各样的可访问的可以存储数据的容器而设计的。那我就想了,既然是访问数据容器的东西。当然要做到高度抽象了,也就是说要抓住所有数据容器的共性又要兼顾特点。这个应该说难度是有的。用Linq来访问sqlserver的时候我就有疑惑了。用sql语句写的查询(稍复杂)Linq就有点力不从心了(确切地说是我力不从心了,因为里面要嵌入该死的lambda表达式)我就疑惑了难道Linq的写法还不如嵌入Sql语句好么?就是能和嵌入sql做到一样。我也不会采用这样的方式来访问数据!应为这样会把程序搞糟,搞得人找不到任何东西了。[我只是从一个方面说,使用Linq把数据存储到匿名类里面还是很有诱惑力的。这个不讨论]。所以我就郁闷了,大家现在怎么使用Linq在什么地方用?小弟初学这个东西真不知道该往什么地方用啊!

其次,Linq的lambda表达式巨恶,我真是对这个自恋的定西无比厌恶。难道使用一条语句的时候需要知道这个语句的来源么?我用汉字可是我说不出来我用的每个汉字的来源,某个汉字怎么产生的我也不清楚,这会影响我用么?可是在Linq里就不行了(x=>x.zzzz)这个东西我实在有些郁闷,能不能不这么写?能不能精简一点写。这个里面的东西不就是告诉电脑托管么。这和我有关系么?一点关系都没有。

再次,执行效率。在数据层真的写上这么多Linq代码(访问数据库的而不是其他的)最终都被电脑翻译成了sql语句执行去了。每次执行一个查询意味着要向服务器发送一次N多字节的sql命令,这个东西的执行效率不高而且每次都要发送。我就不知道微软专门把这个部分做缓存了没有!存储过程可以解决上面的问题。但是存储过程不通用(郁闷啊)。要是微软能引导设计者编程的时候遵循某种逻辑让人感觉查询、更新、删除这些东西都像存储过程这么有逻辑有规范,哪怕Linq语句设计规范化了哪怕再整出几个关键字我都不在乎,并且自动缓存,执行效率高到和存储过程比美。呵呵!

我的上面的感慨困惑了我好久了。每次我学习新东西我都问自己这个东西是干什么用的,怎么用这个东西。开始学习Linq这些问题就更加强烈了。也许各位大虾有答案。也许微软的下一版有答案。要是您有告诉我……

我很无知,所以我就学习。我喜欢向自己提问向别人请教,因为我喜欢这样学习。

转载于:https://www.cnblogs.com/ponyblog/archive/2008/09/21/1295546.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值