我对linq的一点看法

本文探讨了 LinqToSql 的推出如何简化数据库应用程序的开发过程,并对其带来的便捷性和潜在问题进行了深入讨论。作者指出尽管 LinqToSql 能够降低开发门槛并提高效率,但其代码结构及对业务逻辑的支持等方面仍存在争议。
在Linq To Sql推出之前,我们只是把sql语句形成一个string,然后,通过ado.net传给sql server,
返回结果集。这里的缺陷就是,如果你sql语句写的有问题,只有到运行时才知道。而且并不是所有的人都懂
数据库的。Linq To SQl在一切围绕数据的项目内都可以使用。特别是在项目中缺少sql server方面的专家
时,Linq To SQl的强大的功能可以帮我们快速的完成项目。Linq To SQL的推出,是让大家从烦琐的技术
细节中解脱出来,更加关注项目的逻辑。Linq To Sql的出现,大大降低了数据库应用程序开发的门槛,
它实质是事先为你构架了数据访问层,势必将加快数据库应用程序的开发进度。Linq To Sql解放了众多程序
员,让他们的把更多的精力放到业务逻辑以及code上,而不是数据库。对于初学者来讲,Linq To Sql可以
让他们迅速进入数据库应用程序开发领域,节约了培训成本。

这应该是网上最为经典的一段对Linq的评价了.不管别人怎么看,反正我偷摸的对它总是有很多的腹诽(其中一些也是3.0,3.5中的)

1)	杂草一样乱糟糟的代码.这应该是所有刚接触这个东西的人的一个普遍的感觉.不要对这个说”
无所谓”,因为习惯是个很可怕的东西,否则Java程序员也不会一如既往的搞Java,C++的同仁们也是一如既往的
对Java和C#保留着敌对情绪了

2)	杂草带来的方便性.这个是很值得玩味的东西,过分的依赖黑盒子中的东西总是让人们充满了恐惧,另外
就是那些简化的代码结构往往不能满足我们的需求,就拿属性来说,在get的时候,几乎很少会只有一个简简单单
的return,那里面往往有好多业务逻辑存在,这种东西就和聋子的耳朵差不多,有没有是一回事,有用没用是另外
一回事.

3)	新特性带来的代码扩充,这东西会伴随着及其恐怖的规范化问题.所以公司出面封装成底层库就成了
必然的事实了,既然如此,这种”扩充”又和公司以前封装的底层库有什么区别呢?这就跟同居的两个人结婚与否
的区别差不多:没结婚的时候,晚上要XX,结婚了也XX,一个是被官方支持的,一个是为了自己和对方方便偷摸搞
的,仅此而已

4)	Linq所带来的数据访问层,其实这和3中描述的差不多,公司要出面进行封装的,

5)	Sql语句有问题与否,在编译阶段发现还是在运行时发现,两者之间的区别没有什么太大的意义.而且
成熟的公司都有自己的sql组装器一类的东西,所以这个问题可以忽略.除非这个公司的规范化是假的(如果真的
是这样,那么该操心的就不是语言能给我们提供多大的方便性了)

6)	任何新特性的推出,如果在易用性和性能上能够满足商业需求,公司都会对其进行封装,除了业务层和
UI层以外,coder几乎不会涉及到任何其它的东西了.所以这个节约成本也是”想当然的结果”

虽然我天天去吃抻面,但是我的确不喜欢这个味道.同样,虽然我不喜欢linq,但是我们还是会去学它.

写点东西发发牢骚, 只是想告诉大家不要被光环和官方的宣传所蒙蔽.正常人早晚要结婚,正常的.NET程序员也
早晚要学Linq,所以摆正心态和姿态很重要

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值