首先,我要说,我使用SQL完成了95%的数据库工作。最近,我对NHibernate和Doctrine等机构做了一些调查。
我可以看到不需要了解太多SQL和ORM提供的数据库可移植性的优点。但我也可以看到,了解SQL将使ORM的工作更加有效,我只能想到在我的职业生涯中,应用程序最大的变化将是数据库供应商。
因为我很习惯编写SQL,而且显然还没有意识到使用ORM的好处,所以我对大量ORM用户的问题是:
中获益最大?
发布于 2011-04-18 21:09:48
(几乎)所有的应用程序都受益于ORM。
首先,我不同意你为ORM列出的优点。
相反,ORM的真正好处是:
正如您所评论的,ORM的一个缺点是性能下降。然而,这通常可以通过花费更多的硬件来抵消。
一般来说,程序员的时间比硬件更昂贵,因此ORM是一个不错的选择,而不是手工编码SQL。
ORM是最好的应用程序,有很多相当简单的CRUD数据库逻辑。ORM在以下方面不太有效:
根据我的经验,这种情况是罕见的。因此我的答案。
发布于 2011-04-18 20:21:40
我也很习惯写SQL。我也不需要写任何SQL,也不用担心数据库的连接、断开、池等。
所以..。我会回答你问题的否定的。唯一没有从ORM中受益的web开发项目是一个根本不与数据库对话的项目。我认为这是少数人(如果有的话)。
发布于 2011-04-18 20:06:02
根据我使用ASP.NET WebForms的经验,我建议使用有状态web框架的web项目从使用ORM中获益最大。
使用有状态框架,标记将根据活动服务器控件的层次结构在幕后自动生成。让这些控件自动加载并将其状态保存到数据库中是很有诱惑力的。这是ORM帮助的地方。
您可以从某种程度上抽象出管道的结束(HTML输出),它自然会以同样的方式处理开始(数据源),这样您就只能停留在应用程序代码中的业务逻辑中。
我不是说这是做事情的好方法。这正是ORM天生适合的地方。
https://softwareengineering.stackexchange.com/questions/69327
复制相似问题