日期:2014-05-20  浏览次数:20995 次

linq一般是初学者用的,高手都直接用底层的sql去实现?
linq其实是封装好,实际上也是用到了底层的东西,是不是这样子的??

------解决方案--------------------
linq和sql没关系~~~linq to sql才有关系
目测此贴会火
------解决方案--------------------
用什么方便高效且易维护就用什么
------解决方案--------------------
底层的sql?我茫然
------解决方案--------------------
当使用linq访问数据库的时候,理所当然底层会转化为sql调用,但是这和初学者、高手没有关系。

这就好比使用很多初学者会误以为使用记事本写程序的人比用Visual Studio的人水平高,或者使用汇编语言是高手,使用高级语言的是菜鸟,其实这是不正确的。

现代心理学和认知科学支持这样的观点,一个人思维具有很强的局部性,当他在一个非常具体的层面上思考问题的时候,他解决问题的规模是有限的,如果他试图解决一个规模很大的问题,那么必然忽略掉这个问题的细节,细节和宏观这两者不能同时兼具。

这也就是为什么软件被要求自底而上或者自上而下设计的原因。没有人同时能思考局部和全局。

因此当你对某个具体问题做分析的时候,你会觉得那些掌握细节的人水平更高,这似乎没有错,但是不要忘了,那些不思考细节的人在解决比前者大得多规模的问题,这同样需要很高的水平。

我们可以看到,一个精通sql的dba的确可以写出很高效率的查询,但是一个C#程序员可能面对的是从用户界面到分布式网络的更大层面的事情。
------解决方案--------------------
这很正常,这个世界上不乏善于教训别人只为自我满足而提不出任何建设性观点的人。

我想你应该遇到过因为选择这种颜色的衣服而被别人教训没有选择另一种更搭的色调的衣服而不合时宜的经历。
------解决方案--------------------
http://www.cnblogs.com/yanyangtian/archive/2012/04/12/2443924.html
关于linq性能及如何提高linq性能
------解决方案--------------------
你非得这么说我也没办法 所有ORM都比不上原生SQL 前提是这个SQL写的足够好 像我自己写出来的SQL 分页肯定没linq的skip+take写出来的好
探讨

引用:

http://www.cnblogs.com/yanyangtian/archive/2012/04/12/2443924.html
关于linq性能及如何提高linq性能

就是如何提高性能,效果还是不如直接写sql语句把??

------解决方案--------------------
如果linq是通过调用sql实现的,那么显然linq的性能只能无限逼近直接调用sql,而不能等于或者超越。

但是这没有什么关系,因为使用linq得到的好处更多。这好比任何高级语言都必须转化为机器语言才能运行,因此它们无论怎么做都只能逼近机器语言的效率而不能真正达到,但是如果我说因此没有语言能比拟机器语言,你肯定不赞同。

看到事物的利弊是很初级的,在多个约束条件中采用最佳的方案才是智慧。你缺乏的就是这种判断和思考。
------解决方案--------------------
我说一个有趣的事:现在有很多高层建筑,高层建筑都有电梯。电梯的管理者做出这样一个决策,每天在上班高峰期间(比如6:00~8:00,17:00~19:00),开放三部电梯,而其余时段只开放一部。这样可以节约用电。这个决定看似没有任何问题,也实行多年。直到最近,他们修改了策略,每天所有时段都开放三部电梯。为什么呢?因为一位电梯专家发现,虽然只开一部电梯表面上看节约了另外两部电梯的待机电能。但是这使得唯一的那一部电梯必须不断上下往返,而如果开三部电梯,由于调度程序的作用,只有和请求者最近的那部电梯才会工作,相比较,开三部电梯,它们运行的总距离之和要小于只有一部电梯的情况,所以你能想到么?全开电梯反而更省电。

我说这个和编程技术完全无关的事情只想告诉你一个道理,那就是看问题要全面,要多思考和实践,在哲学上来说,不能孤立的、形而上学的看待事物,要看到多个约束条件的相互作用,以及作用的强弱。我想你能从中得到启发,要有独立的思考,尤其是当你的思考和大多数人的观点不同时,不要轻易动摇,而是进一步的探究。这比记住那些结论更有用,何况那些结论未必就是真理。
------解决方案--------------------
探讨

引用:

用什么方便高效且易维护就用什么

我想方便,以维护是linq
高效是sql

但是动软一用起来就不知道了,没用过

------解决方案--------------------
LinqToSql确实不太好,一般都用Linq操作集合。。。
LinqToSql的优点:
1. 快速开发
2. 无需深厚的Sql功底
缺点:
1. 比直接用Sql小众
2. 效率较差
3. 没有Sql灵活
4. 数据库优化较难
比如项目经过一段时间后,交接到另外一组人手里,新的项目组发现原来的linqToSql的性能较差,需要马上优化,由于不是Sql语句,DBA无法直接着手去优化Sql语句和数据库,程序员要先理解linq语句,也有可能他根本不懂linq,这时就比较被动了。。。
而Sql的话,做开发的基本都能读懂吧?
------解决方案--------------------
挨。。。。。。。。
不能说啥
linq to sql 是封装好的。
是要在执行的时候转换成sql
但是linq的出现必然有他的优势
一个事物的出现必然有他的目的以及意义

目前我是sql 和linq 一起用 方便。老去数据库查 好麻烦的
------解决方案--------------------
sql
能查xml么 ?
能查DataSet么?
能查对象集合么?

从09年认识linq以来 ,断断续续有用, 几乎没用linq查数据库过