2010-05-26 64 views
1

我想从我的nHibernate应用程序中调用存储过程。该存储过程返回一个列表,我将返回到用户界面。如何调用存储过程 - 任何人都可以帮助我解决这个问题吗?NHibernate - 如何调用存储过程?

回答

2

您可以使用下面的示例。 在你的映射文件定义查询

<sql-query name="MyNameQuery"> 
     <return-scalar column="SomeColumn" type="String"/> 
     <![CDATA[exec proc_MyProc ?]]> 
</sql-query> 

对于呼叫,你可以做以下

ISQLQuery objQuery = MySession.GetNamedQuery("MyNameQuery") as ISQLQuery; 
        objQuery.SetParameter(0, "1"); // stored procedure expects a parameter, not used here 
        var myResult = objQuery.List<string>(); 
+0

我想从应用程序调用我的SP insted的创造是如何做到的映射和域对象我这样做 – bharat 2010-05-26 18:29:26

+0

这就是我的意思 nhibernate调用存储过程来返回没有映射实体的数据集 – bharat 2010-05-26 18:52:32

+0

您可以使用Session.Connection属性来获取IDbConnection并从那里调用存储过程。 – Fahad 2010-05-26 21:44:58