我目前正在开发一个项目并使用nhibernate作为ORM。该项目在开发环境中运作良好。在我们投入生产之前,我想从社区的经验中知道在他们上线之后遇到的逻辑错误没有被开发中的问题。简而言之,我想知道在我们上线之前需要做的事情的清单。
答案 0 :(得分:2)
我没有真正的清单,但是我们第一次使用NHibernate时遇到的一件事就是我们在开发环境中没有在真实的“加载”下测试它。
当我们开始制作时,我们得到了意想不到的超时。事实证明,我们的ICriteria查询效率非常低,我们不得不相应调整它们。
最初引起我们注意的另一件事是NHibernates dll依赖。它取决于Log4net,Iesi.Collections和其他一些 - 确保您的部署策略涵盖了这一点。
答案 1 :(得分:0)
这是旧的,但这里有几个......
映射 - 如果您的遗留数据库不是简单的映射,请使用NHibernate Profiler检查实际查询的内容。有时,对象上相当无辜的Load会导致多个连接。
并发 - 请务必阅读有关如何处理事务的信息。工作单元(ISession)及其工作原理对于避免读取不一致数据的奇怪错误非常重要。
并发 - 确保您了解NHibernates并发模型。它会严重影响您的应用程序,并在发生并发写入时向您抛出StaleObjectExceptions。请参阅此内容以获取初学者:NHibernate Concurrency