首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

那些喜欢用LINQ的是不是因为数据库SQL学的不好甚至没学过?解决办法

2013-10-21 
那些喜欢用LINQ的是不是因为数据库SQL学的不好甚至没学过?那些喜欢用LINQ的是不是因为数据库SQL学的不好甚

那些喜欢用LINQ的是不是因为数据库SQL学的不好甚至没学过?
那些喜欢用LINQ的是不是因为数据库SQL学的不好甚至没学过?LINQ能做的有什么东西SQL做不了?如果都用LINQ,那传说中的DBA都可以下岗了,欢迎讨论
[解决办法]
如果我说我从LINQ中受益最的是LINQ to Objects,而不是LINQ to SQL或者LINQ to Entity,你信吗?

Lambda与LINQ都只是.NET给我们提供的好工具,而数据库支持只是LINQ中很小的一部分,为什么还要纠结呢?

仅举一个很小的例子,取2个集合的交集。以往自己写要多少代码,现在用LINQ就是一句话的事,代码简洁了,而且能把更多的精力从自己实现查询、排序上抽出来,放在业务规则和逻辑的设计上,有什么不好呢?


[解决办法]
linq 开发速度快,有些方法封装的运行速度比从网上找的运行速度要快的多!而且缓存也挺强大的。。
而且sql你不会。linq 你也够呛吧!!我是那么认为的!
[解决办法]
喜欢用SQL的但又想有Linq开发的便利性、智能提示的,可以试试PDF.NET框架的OQL,详细见http://topic.csdn.net/u/20110906/13/213226f9-3880-481b-b4a0-ecc29774e9b9.html
[解决办法]

引用:
引用:
linq只是快速开发的一种过度产品。但是回linq的一般sql都很厉害。。

请问LINQ哪里比SQL开发快呢?能否举例?回linq的一般sql都很厉害。。这个结论是如何得到的?

"那些喜欢用LINQ的是不是因为数据库SQL学的不好甚至没学过?"
请问楼主这个结论又是怎么得到的呢?
看到楼主有4个三角符号,我不禁有点怀疑,这是楼主自己么?
[解决办法]
我确实是sql不好 我确实喜欢用linq
[解决办法]
引用:
引用:
linq只是快速开发的一种过度产品。但是回linq的一般sql都很厉害。。

快速懂否?
过度产品懂否?
linq 为什么还是ORM框架的一部分?
存在必然有原因

请问LINQ哪里比SQL开发快呢?能否举例?回linq的一般sql都很厉害。。这个结论是如何得到的?

例如很多简单的操作。当然linq能解决sql的90%的功能,
那个10%还是需要sql自己解决

话说楼主敢发这个帖子就说明楼主对linq和sql都有一定的了解

如果sql的的最基本的几个机制都不明白 他能学linq么?

linq的基础是sql
即使是程序也要把linq给。。。。楼主这么冰雪聪明应该懂的

试问下 如果不懂数据库的人去学习linq 那么在学习的时候他怎么都要学一些sql
当他发现的sql的好处的时候自然就知道linq的有点和sql的优点
自然而然的结合使用
结合使用的后果就是 成为很多dba高手中的一员。我指的高手一员是sql server的
[解决办法]
小项目果断linq,
[解决办法]
linq有时间再学习。
[解决办法]
我只能说lz无知者无畏。LINQ是语言内置查询,哪里和数据库有关了?风马牛不相干的2个东西怎么比较?

我来说一些LINQ能做的情景:

(1)窗口上有10个文本框,现在要判断是否有空的,没有输入的,用LINQ做:

bool isempty = this.Controls.Cast<Control>().Where(x => x is Form).Select(x => x as Form).Any(x => x.Text == "");

(2)判断用户输入的10个数字是否重复:
bool result = userinput.Disinct().Count() == userinput.Count();

(3)对一个内存中的List排序:
var orderedlist = source.OrderBy(x => x.Name);

(4)在0-10中随机选取3个数字,而且这三个数字不能重复:
int[] result = Enumerable.Range(0, 10)
    .Select(x => new { k = Guid.NewGuid(), v = x }).ToList()
    .OrderBy(x => x.k).Take(3).Select(x => x.v).ToArray();



这些和数据库有关么?
[解决办法]

引用:
LINQ能做的有什么东西SQL做不了?如果都用LINQ,那传说中的DBA都可以下岗了,欢迎讨论


第一个问题,我觉得没有什么可讨论的。你可以把问题反过来问自己一下,既然都可以达到目的,人家为什么喜欢使用Linq呢?

对于第二个问题,我觉得这是你说的。一般的对数据库增删改查简单操作的软件项目,要招聘什么DBA人员?纯粹是站着茅坑不拉屎。不要低估了程序员优化sql代码的能力。
[解决办法]
我只是给你第二个问题中的说法,进一步注解一下!
[解决办法]
引用:
linq只是快速开发的一种过度产品。但是回linq的一般sql都很厉害。。

请问LINQ哪里比SQL开发快呢?能否举例?回linq的一般sql都很厉害。。这个结论是如何得到的?

"那些喜欢用LINQ的是不是因为数据库SQL学的不好甚至没学过?"
你是否发现这里用的是问号放在这里呢?目的就是喜欢大家讨论,因为曾经有个国企的项目经理说SQL是垃圾,LINQ才是好东西,所以我放的是问号,并没有因此下结论,4个三角符号很正常,不需要怀疑

 那个经理估计也不怎么样
[解决办法]
一个C#程序员和我说他不会LINQ也不用LINQ,那我觉得他根本不配说自己会C#。

因为LINQ是C#最基本的语法和基本库。

如同一个程序员说他只用for循环而不会foreach以及while循环一样可笑。
[解决办法]
引用:
补充:我说的都指的是针对操作数据库来说的


那你该说orm,不是linq
[解决办法]
引用:
补充:我说的都指的是针对操作数据库来说的

你这个是伪命题,因为LINQ To SQL也好,其他也好,LINQ不是数据库,LINQ访问数据库肯定功能超不过数据库本身,效率肯定低于数据库本身。这是显而易见的。

如同你去银行办事,你的所有请求都是柜台业务员处理的,你现在问有什么你能办到,柜台业务员办不到的,这是一句废话。
[解决办法]
引用:
如同你去银行办事,你的所有请求都是柜台业务员处理的,你现在问有什么你能办到,柜台业务员办不到的,这是一句废话。


比喻很生动,顶!
[解决办法]
如果针对操作数据库来说的,你不用拿LINQ比

实际上你拿C#去比,拿ADO.NET去比,拿Java JDBC去比,拿Hibernate去比,拿C++去比,拿任何东西去比,你得出的结论都是,没有什么数据库不能做的,而这些能做的。

因此你得出结论,根本不需要什么编程语言和程序员,DBA胜任一切。也不需要什么软件,大家直接查询就可以了。

热点排行