对于即将到来的项目,C# 代码需要围绕旧版 Oracle 数据库编写。它将非常以数据为中心,因为大部分代码将处理数据操作——几乎没有业务规则。所以我决定不使用成熟的 ORM 并选择 Active Record 方法。
我遇到了两个选择:SubSonic和Castle ActiveRecord
谁有这两种实现的经验?当我在它们之间进行选择时,我应该考虑哪些因素?哪个更稳定/更快/更容易合作/拥有良好的支持社区?
我很高兴得到一些决策指导。
对于即将到来的项目,C# 代码需要围绕旧版 Oracle 数据库编写。它将非常以数据为中心,因为大部分代码将处理数据操作——几乎没有业务规则。所以我决定不使用成熟的 ORM 并选择 Active Record 方法。
我遇到了两个选择:SubSonic和Castle ActiveRecord
谁有这两种实现的经验?当我在它们之间进行选择时,我应该考虑哪些因素?哪个更稳定/更快/更容易合作/拥有良好的支持社区?
我很高兴得到一些决策指导。
SubSonic 和 NHibernate(Castle ActiveRecord 建立在其上)都是成熟的 ORM。
NHibernate 通常比 SubSonic 更成熟,功能更丰富。它有一个更大的用户和贡献者社区。
亚音速的加速时间更快。
另请参阅(请注意,阅读更多不一定会让您的决定更容易,实际上可能会适得其反):
在 NHibernate 或 Vice Versa 之前学习 SubSonic?
http://ayende.com/Blog/archive/2007/06/03/On-SubSonic-amp-NHibernate.aspx
http://subsonicproject.com/docs/Comparisons
请注意,关于您将看到的一些名称:Ayende Rahien 是 NHibernate 的贡献者,Rob Conery 是 SubSonic 的贡献者。
NHibernate 是“安全”的赌注,因为它很可能能够处理你发送的任何奇怪的东西。只要您的设计正确,您就可以从 SubSonic 开始,然后在必要时将其替换为 NHibernate(这将涉及一些重新编码成本)。
这个决定最终取决于你自己的情况。