使用存储过程从NHibernate中读取数据库中的记录?

时间:2010-02-03 08:23:35

标签: sql-server nhibernate stored-procedures

使用NHibernate中的存储过程从数据库中读取数据库记录是一种好方法吗?如果是,那么为什么或者如果否,那么为什么呢? 该应用程序只具有使用数据访问层中的NHibernate从数据库中读取值的功能,没有更新,也没有仅仅检索的插入。

2 个答案:

答案 0 :(得分:4)

在我看来,只有处理大量数据时才需要存储过程。性能更好,因为数据库管理系统可以使用其优化例程来加强对存储数据的访问。

不使用存储过程的第二个原因是,您要将dbms和应用程序分开。因此,您可以根据需要更改数据库系统。如果使用存储过程,则绑定到此特定的dbms(即.racle)。

答案 1 :(得分:2)

  

使用存储过程从数据库中读取数据库记录   在NHibernate中一个很好的方法吗?

如果你正在为数据网格保温,没有。虽然NHibernate将允许这种情况,但它很难使用NHibernate,因为NHibernate没有增加太多价值。为什么对NHibernate依赖依赖什么呢?

如果你正在补水,是的。 NHibernate至少用于将从存储过程返回的结果映射到对象的最小目的。您对一个小功能非常依赖,但它可能比滚动您自己的解决方案更好。

对于任何.NET ORM,答案基本相同,假设ORM可以根据存储过程返回的数据对对象进行水合。