2010-02-03 52 views
1

我们已经建议在我们的项目中使用NHibernate。但关键是我们的应用程序只会从数据库中检索数据,所以在这种情况下使用NHibernate会有什么好处?仅在数据检索场景中,NHibernate的好处是什么?

还有一件事,NHIbernate中的查询执行计划是什么样的呢?它支持类似预准备语句还是所谓的预编译语句。

回答

1

我同意上面的答案,但还有一个使用nhibernate的理由:您完全独立的数据库系统。你可以从mysql切换到oracle,你唯一需要做的就是改变设置。对数据库的访问保持完全一样。

1

NHibernate很有用,您需要将数据库中的数据映射到.NET类中。即使您只是在执行选择查询,如果您需要将数据对象传递到客户端层(网页,桌面应用程序等)以供显示,它仍然可能非常有用。使用纯对象比在表示层中使用DataSet或其他ADO.NET数据类更容易。

如果您将NHibernate映射到映射文件中,NHibernate确实能够解析/预编译查询。

0

在只读场景中使用NHibernate的好处是,您不需要将查询结果映射回.net对象,因为运行时会为您执行此操作。此外,它提供了更多面向对象的查询语法(您也可以使用LINQ),并且可以利用延迟加载。

我不相信NHibernate可以使用准备好的语句,除非你有它调用存储过程。

相关问题