NHibernate-如何调用存储过程?

NHibernate-如何调用存储过程?,nhibernate,Nhibernate,我想从我的nHibernate应用程序调用一个存储过程。该存储过程返回一个列表,我将返回UI。如何调用存储过程-有人能帮我吗?您可以使用以下示例。 在映射文件中定义查询 <sql-query name="MyNameQuery"> <return-scalar column="SomeColumn" type="String"/> <![CDATA[exec proc_MyProc ?]]> </sql-query>

我想从我的nHibernate应用程序调用一个存储过程。该存储过程返回一个列表,我将返回UI。如何调用存储过程-有人能帮我吗?

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

<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>();
ISQLQuery objQuery=MySession.GetNamedQuery(“MyNameQuery”)作为ISQLQuery;
objQuery.SetParameter(0,“1”);//存储过程需要一个参数,此处不使用
var myResult=objQuery.List();

我想从应用程序调用我的sp,而不是为此创建映射和域对象。我该怎么做?这就是我的意思。nhibernate调用存储过程返回没有映射实体的数据集。您可以使用Session.Connection属性获取IDbConnection并从那里调用存储过程。