这是我关于Stack Overflow的第一个问题,所以提前感谢你的帮助!:)
在过去的两年中,我开发了一个自制的。net ORM,我在一些中小型项目中使用。它的主要特点是:
- 使用属性从数据库到对象的映射
- 富对象语法,使用提供者向不同的rdbms编写SQL查询
- 使用提供者到不同rdbms的连接和事务
- 延迟加载,相关实体,自动验证
- 先前查询结果的自动缓存 使用实体结构自动生成数据库模式基于线程文化的实体自动定位
现在我正处在一个十字路口:我必须决定是继续我的解决方案并实现其他功能,如并发控制,还是宣布它死亡并开始使用现有的解决方案,如nHibernate。
我是那种喜欢自己重新发明轮子之类的人……:)
我错过了什么吗?是时候走一条更安全的路了吗?
非常感谢你,很抱歉我的基础英语。
亚历山德罗
我是那种喜欢自己重新发明轮子之类的人……:)
另一个名称是软件开发人员。有时,我们都喜欢为已经解决的问题创造自己的解决方案。数据访问是人们出于各种原因(有些比其他更合理)继续创建自己的解决方案的领域之一。
然而,事实是,一旦你到了需要并发控制和其他高级特性的地步,你应该认真考虑采用一个更成熟的ORM,可能是NHibernate,也可能是ADO。. NET实体框架,或其他解决方案。如果这是你的工作,而不仅仅是爱好,那就更是如此;把时间花在重新发明现有的和稳定的东西上,是在浪费雇主的钱。
不管你现在的生活有多好,自己去维持它是不现实的,也是不明智的。您有两个实际选项:
- 如果你的ORM真的很棒,那就把它开放给社区,看看反应是什么。如果你得到其他志同道合的人的帮助,它就会变得很实际。谁知道;它可能是下一个NHibernate的。请记住,你的雇主(如果这是你的工作)可能对帮助社区毫无兴趣,而对你制作可行的软件更感兴趣。也要意识到,如果你的ORM是在公司时间开发的,那么你可能没有权利向社区开放它
- 请切换到主流ORM。