我应该继续使用自制的ORM吗?

时间:2011-04-06 13:29:03

标签: .net orm

这是我关于Stack Overflow的第一个问题,所以提前感谢您的帮助! :)

在过去的两年里,我开发了一个自制的.NET ORM,我在一些中小型项目中使用它。其主要特点是:

  • 使用属性从数据库映射到对象
  • 使用提供程序将SQL查询写入不同RDBMS的丰富对象语法
  • 使用提供程序连接和交易到不同的RDBMS
  • 延迟加载,相关实体,自动验证
  • 自动缓存先前的查询结果
  • 使用实体结构自动生成数据库模式
  • 基于Thread culture的实体自动本地化

现在我处于一个十字路口:我必须决定是否继续使用我的解决方案并实现其他功能,如并发控制或宣布它已经死亡,并从现有的解决方案开始,如nHibernate。

我是那种喜欢自己重新发明轮子等等的人......:)

我错过了什么吗?这是开始在更安全的道路上行走的时刻吗?

非常感谢,对不起我的基本英语。

的Alessandro

1 个答案:

答案 0 :(得分:5)

  

我是那种喜欢自己重新发明轮子等等的人......:)

另一个名称是软件开发人员。我们不时希望为已经解决的问题创建自己的解决方案。数据访问是人们因各种原因继续创建自己的解决方案(其中一些比其他原因更合理)的领域之一。

但事实上,事实上,一旦你达到需要并发控制和其他高级功能之类的东西,你应该认真考虑采用一种更成熟的ORM,无论是NHibernate, ADO.NET实体框架,或其他解决方案。如果这是你的工作而不仅仅是一种爱好,这是双重的。花时间重塑已建立和稳定的东西正在浪费你雇主的钱。

无论你现在拥有的是多么好,自己维持它并不是一种实际或明智的努力。你有两个真正的选择:

  1. 如果您的ORM只是大脑融化,那么请向社区公开,看看响应是什么。如果你让其他志同道合的人帮助,它就会变得切实可行。谁知道;它可能下一个NHibernate。请记住,您的雇主(如果这是您的工作)可能对帮助社区没有兴趣,并且对您制作有效的软件更感兴趣。还要意识到,如果你的ORM是在公司时间开发的,那么你可能没有权利向社区开放它
  2. 只需切换到主流ORM。