对于即将到来的项目,需要围绕旧版 Oracle 数据库编写 C# 代码。它将非常以数据为中心,因为大部分代码将处理数据操作——几乎没有业务规则。所以我决定不使用完全成熟的 ORM 并选择 Active Record 方法。
我遇到两个选项:SubSonic 和 Castle ActiveRecord
谁有这两种实现的经验?当我在它们之间进行选择时,我应该考虑哪些因素?哪一个更稳定/更快/更容易合作/拥有良好的支持社区?
我会很高兴得到一些决策指导。
最佳答案
SubSonic 和 NHibernate(CaSTLe ActiveRecord 在其上构建)都是成熟的 ORM。
NHibernate 通常比 SubSonic 更成熟,功能更丰富。它有一个更大的用户和贡献者社区。
Subsonic 具有更快的加速时间。
另请参阅(请注意,阅读更多并不一定会使您的决定更容易,实际上可能会适得其反):
Learn SubSonic before NHibernate or Vice Versa?
Subsonic Vs NHibernate
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 替换它(会涉及一些重新编码成本)。
最终决定取决于具体情况并由您决定。
关于nhibernate - SubSonic 与 CaSTLe ActiveRecord,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1474265/