日期:2014-05-17  浏览次数:21028 次

什么时候才能 摆脱SQL语句的烦恼?
应该说,SQL语句,真的心很强大。但是我一直都觉得比较奇怪。为什么要用SQL语句作为介质。
而不是直接暴露数据库中的一些方法给我们调用。。。。

SQL的好处:
强大,灵活,传输量也不是很大。

但是也有坏处:
解析SQL。
SQL标准不统一。
每次用ado.net 都觉得很烦。
要写很多SQL,要写很多方法...

我几次尝试,想把SQL语句封装到类里面,然后通过使用反射,直接接受对象,然后自动遍历对象,并实现怎删改查。。。

好处是不需要维护SQL语句和数据操作类了。。。
只需要维护对象和,逻辑代码。但,一些复杂的逻辑还是一样要SQL。

相当麻烦....
我觉得,要想提高生产效率 真的有必要,出现一个统一的中间层。
用方法替代掉所有的SQL语句。

有没有童鞋有什么好的设计思路。。。
——————————————————————————————————

最近出现了,Repository模式,晕啊,我觉得最近出现的IOC,领域驱动,还有之前的ORM,等等都是因为SQL,SQL语句,关系数据库。。。。

SQL语句这个折磨了成千上万程序员的东西,什么时候才是该退出历史舞台的时候。。。。
各位 不妨 讨论讨论,这方面的问题


sql 数据库 ioc orm NOSQL

------解决方案--------------------
退不出的 不要以为人家在吹嘘no sql 就觉得他能取代sql 你得知道像sap peoplesoft siebel这些大型企业级应用 是没法不用sql的
------解决方案--------------------
Entity Framework不就是解决这个问题的吗。
------解决方案--------------------
让别人来写,自己用。
------解决方案--------------------
别干这行了。
------解决方案--------------------
让dba写好,然后你调用,要不然不写sql至少在我看来是一个梦,南柯一梦。
------解决方案--------------------
引用:
别干这行了。

------解决方案--------------------
留给DB写把
------解决方案--------------------
不做码农的时候
------解决方案--------------------
想法是好的,但是在你这个知识层次上考虑这些略显不足。

如同明朝的万户,考虑人类如何脱离地球的束缚飞往太空,他的知识水平和认识没有到那个层次。他的想法是朴素的,没有实际价值的,甚至是危险的,他本人最后也是一个悲剧。
------解决方案--------------------
其实.NET已经做得尽量让程序员远离自己写很多SQL代码的事了,可以拖放数据组建,简单勾勾选选就可以了,还有就是如这种整个数据库软件只写少量SQL代码就可以了.
------解决方案--------------------
亲,反射的效率实在是太低,能不反射尽量就别用。
拼sql文还是老老实实的写吧,只要把sqlhelper这类的工具用熟了,套一套就行了。
------解决方案--------------------
引用:
想法是好的,但是在你这个知识层次上考虑这些略显不足。

如同明朝的万户,考虑人类如何脱离地球的束缚飞往太空,他的知识水平和认识没有到那个层次。他的想法是朴素的,没有实际价值的,甚至是危险的,他本人最后也是一个悲剧。


有见地啊,哲学思密达。。。
------解决方案--------------------
引用:
其实.NET已经做得尽量让程序员远离自己写很多SQL代码的事了,可以拖放数据组建,简单勾勾选选就可以了,还有就是如这种整个数据库软件只写少量SQL代码就可以了.


呵呵,增删查改
------解决方案--------------------
最起码,现在不可能,而且在很长一段时间内都不可能。
就如同中国现在处于社会主义初级阶段,并且将长期处于社会主义初级阶段。
------解决方案--------------------
引用:
EF和Linq本身还是过于复杂了,我看过有不少人写过的代码。。。
里面充满了Linq之类的。。。。
神啊,似乎那似乎只是把SQL放到了C#代码里面。
而且EF也不太灵活,代码量也没减少多少。

对于简单的SQL语句,ORM确实减少不了多少代码量,仅仅只是对于IDE更友好而已,因为需求是一一对应的。

对于复杂的需求组合,ORM可以实现关联关系的一次性处理,这个是SQL语句不可能做到的。
另外一点,ORM可以为界面提供树状视图(你可以Answer.Question.User...),不是二维表格。

如果要抛弃SQL语句,就不能以SQL功能为出发点来设计ORM,否则难以摆脱所谓的复杂的SQL语句。
比如http://www.51nod.com/today.html#!type=all,实践证明没有SQL语句的项目做得更舒心。