创建自己的ORM层有哪些参数?

use*_*068 6 orm

ORM的优点非常明显.但我注意到有些公司喜欢建立自己的自制ORM.为什么?

Jus*_*ner 9

我可以看到只有两个参数可以用来滚动你的ORM(过去这些都发生在我身上,这迫使我自己编写):

  1. 该公司拒绝使用开源软件,因为他们认为这些软件可能会蔓延到他们的应用程序中.

  2. 该公司拒绝在商业ORM上花钱.

任何其他论点(如实体框架的质量太差,我们无法使用它)完全没有实际意义.无论实体框架(或者您可能指的是其他任何ORM)有多糟糕,您都不会亲手制作自己的稳健性和可靠性.


Fra*_*uma 8

由于O/R映射器是非常复杂的软件,因此编写自己的软件超出了典型的datareader包装器和预制SQL查询执行器将花费大量时间(至少考虑6个月以上的完整时间).这不是最大的问题.最大的问题是,一旦你使用自己的O/R映射器,你必须在使用它的应用程序正在生产的剩余时间内维护它.这可能是很长一段时间.毫无疑问,自己维护一个O/R映射器并不是一项简单的任务:你必须重新发明O/R映射器开发人员已经知道并解决了自己的每一个技巧.

最后但并非最不重要的一点:自己做这件事不应该在可计费合同上完成.毕竟,您正在编写已在其他地方提供的基础架构代码.

我知道我有偏见(我写过LLBLGen Pro),但我也是这个行业中为数不多的人之一,他们已经编写了一个完整的O/R映射器框架,并且知道如何才能获得一个好的,并且运行良好性能和一个很棒的功能集.

简单地算一下:如果获得o/r映射器框架许可证需要1000美元(或更少),并且您可以立即开始使用客户的应用程序,那么您需要花费多少小时来获得1000美元,这样您就可以建立O/R映射器而不花费公司任何钱?并保持它?你无法用这笔钱做到这一点.