Vim*_*987 1 .net database oracle orm stored-procedures
我正在使用我的队友(.NET/Oracle)的遗留项目.该项目尚未完成,正在建设中,远未生产.他遵循"传统方式"来访问数据,即创建存储过程然后使用数据库驱动程序来调用它们.我想按照"现代方式"来访问数据:使用ORM来抽象和访问数据.在时间和金钱方面,这个开关不会花费太多.问题是,他比我更有经验,他有点讨厌ORM(他没有解释原因,但他说这令人困惑).我现在独自一人,但我没有足够的鼓励转向ORM.
那么,我应该切换到ORM吗?如果是的话,请鼓励我.
编辑:我不知道为什么有人需要关闭这个问题.我不够鼓励,因为我不确定哪条路更好.您可以说服我,ORM让我发展得更快,错误更少,或者存储过程更快,......无论如何.我想问你,恕我直言,有经验的程序员(比我,还有我的队友).我的队友有理由使用存储过程,许多程序员都有自己的存储过程.我需要知道为什么他们认为(存储过程非常好或他们只是想使用与它们类似的东西等等)
非常感谢.
APC*_*APC 13
以下是三个不切换的原因:
Oracle PL/SQL是一种完整的编程语言.它不仅仅是一些冻结的SQL语句和一些条件编程.因此,PL/SQL层很可能包含无法在ORM中轻松实现的逻辑.
众所周知,Oracle数据库许可证很昂贵.最大化ROI的最佳方法是利用内置功能.这对于ORM工具来说更难以处理,有时甚至是不可能的.
您将应用程序描述为"遗留",表明它正在生产中.如果是这样,改变数据访问架构将是一个彻底的放纵.您和您的同事将花费大量时间编写代码,更不用说整个应用程序的回归测试,对您的用户没有明显的好处.
ORM不是"现代的",它们旨在最大限度地减少与数据库的交互,以至于您通常不必编写SQL.这也是您使用SQL存储过程和函数所获得的,假设您在团队中有一个数据库开发人员致力于开发和维护.
ORM中越来越常见的是支持本机SQL,因为它们处理复杂SQL的能力有限.人们对SQL开发有问题,我不认为软件抽象会更好......
"传统方式"更具针对性,使其比ORM更快地执行.ORM的好处是支持多个数据库供应商,而不了解每个供应商或SQL本身的复杂性.
我会学习ORM的就业可能性,最好通过知道何时使用它.