2010-05-26 66 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