如何鼓励自己切换到ORM?

Vim*_*987 1 .net database oracle orm stored-procedures

我正在使用我的队友(.NET/Oracle)的遗留项目.该项目尚未完成,正在建设中,远未生产.他遵循"传统方式"来访问数据,即创建存储过程然后使用数据库驱动程序来调用它们.我想按照"现代方式"来访问数据:使用ORM来抽象和访问数据.在时间和金钱方面,这个开关不会花费太多.问题是,他比我更有经验,他有点讨厌ORM(他没有解释原因,但他说这令人困惑).我现在独自一人,但我没有足够的鼓励转向ORM.

那么,我应该切换到ORM吗?如果是的话,请鼓励我.

编辑:我不知道为什么有人需要关闭这个问题.我不够鼓励,因为我不确定哪条路更好.您可以说服我,ORM让我发展得更快,错误更少,或者存储过程更快,......无论如何.我想问你,恕我直言,有经验的程序员(比我,还有我的队友).我的队友有理由使用存储过程,许多程序员都有自己的存储过程.我需要知道为什么他们认为(存储过程非常好或他们只是想使用与它们类似的东西等等)

非常感谢.

APC*_*APC 13

以下是三个不切换的原因:

  1. Oracle PL/SQL是一种完整的编程语言.它不仅仅是一些冻结的SQL语句和一些条件编程.因此,PL/SQL层很可能包含无法在ORM中轻松实现的逻辑.

  2. 众所周知,Oracle数据库许可证很昂贵.最大化ROI的最佳方法是利用内置功能.这对于ORM工具来说更难以处理,有时甚至是不可能的.

  3. 您将应用程序描述为"遗留",表明它正在生产中.如果是这样,改变数据访问架构将是一个彻底的放纵.您和您的同事将花费大量时间编写代码,更不用说整个应用程序的回归测试,对您的用户没有明显的好处.

  • @Vinvq1987用伟大的Inigo Montoya的话说,"我认为你应该停止使用这个词.我认为这并不意味着你的意思." "遗留"通常表示部署的功能性应用程序建立在有些过时的技术或实践之上,这些技术或实践可能会被替换,但大部分都能实现其预期目的.尚未部署/构建==不是遗产. (3认同)
  • 您如何构建新的"遗留"应用程序?不计算...... (2认同)
  • 我们总是努力改进现场的工作.但是,遗产在开发环境中具有特定的含义.也许这是一个程序员的事情,但我重视特殊性,因为它使通信更加有效和高效. (2认同)

OMG*_*ies 7

ORM不是"现代的",它们旨在最大限度地减少与数据库的交互,以至于您通常不必编写SQL.这也是您使用SQL存储过程和函数所获得的,假设您在团队中有一个数据库开发人员致力于开发和维护.

ORM中越来越常见的是支持本机SQL,因为它们处理复杂SQL的能力有限.人们对SQL开发有问题,我不认为软件抽象会更好......

"传统方式"更具针对性,使其比ORM更快地执行.ORM的好处是支持多个数据库供应商,而不了解每个供应商或SQL本身的复杂性.

我会学习ORM的就业可能性,最好通过知道何时使用它.