我最近听到了很多关于NHibernate的事情(大多数是好事),并希望了解它。在我的公司,我们计划在C#中创建一个基于数据库的应用程序,我想知道NHibernate是否适合这个项目。但由于我没有ORM的经验,我无法评估所涉及的风险。
背景:
这将是statistical process control (SPC)的申请。它的核心是一个带有大量不同部件测量值的数据库。某些SPC计算需要评估给定部件的最后3或5次测量,而其他可能需要评估100或1000次测量。必须在每个新的测量条目上更新计算。部件的计算类型是可配置的,以及可接受值的边界以及如果结果违反这些边界所采取的操作。
db后端将是Oracle或SQL Server(这是一个在顶部采取的政治决定,我们的部门对它没有任何影响)。
所以我的问题是: 你会建议在这个项目中使用NHibernate吗?而且(更重要的是)为什么?
答案 0 :(得分:1)
您可以在像这样的项目中使用NH。它甚至可以让您选择以后决定使用哪个DB。 有时您可能希望使用直接sql查询来提高性能,并且您在NH中有标记,在那里您将有DB之间的差异,但大多数工作将独立于最终决策。 在统计应用程序中,我发现在这种数据上会有很多只读缓存数据和NH星......
答案 1 :(得分:0)
如果你最终使用Oracle,你可以认真考虑使用Oracle Application Express来构建你的应用程序 - 没有C#,不需要NHibernate。构建基于Oracle的Web应用程序没有更快(或者在我看来更好)的方式。但是需要一些PL / SQL和Javascript知识。