zoukankan      html  css  js  c++  java
  • NHibernate1.2存储过程使用

    ISession 对象 session

    IQuery query=session.GetNamedQuery("存储过程名")

    在实体映射文件(.xml文件)写明调用细节(写在任何被映射的实体映射文件都可 即<sql-query>...</sql-query>)

    如果有返回值要写明返回值!

    例:

    <!--proc_query_allroomtype存储过程名-->

    <sql-query name="proc_query_allroomtype" >
        <return alias="roomType" class="HotelManage.Models.RoomType, HotelManageModels" ></return>
        exec proc_query_allroomtype
      </sql-query>

    返回对象集合query.List<Type type>();

    也可返回List获object[]  例:

    <sql-query name="proc_demo1" >
       <return-scalar column="colA" type="int"/>
        <return-scalar column="colB" type="int"/>    exec proc_query_allroomtype
      </sql-query>

    <!--colA数据库表列名-->

    <!--number 是该存储过程的输入参数-->

    <sql-query name="ScalarSProcs">
      <
    return-scalar column="value" type="int"/>
      <
    return-scalar column="name" type="string"/>
     
    exec scalarSProcs :number,:value或exec scalarSProcs :?,?

    或exec scalarSProcs :number,?
    </sql-query>

    <!--调用-->

    _session.GetNamedQuery("ScalarSProcs")
            .SetInt32("number", 6).SetString("value").List();

    也可不写在配置文件中 直接调用存储过程

    例如:

       ISQLQuery query = Session.CreateSQLQuery("exec query_unitByName ?,?");
               query.AddScalar("unitname", NHibernateUtil.String);
               query.SetString(0, unitName);
               query.SetInt32(1, count);
               return query.List<string>();

     


  • 相关阅读:
    欧拉公式求四面体的体积
    欧拉公式求四面体的体积
    I
    I
    闭包传递(floyed)
    闭包传递(floyed)
    Python hypot() 函数
    Python cos() 函数
    Python atan2() 函数
    Python atan() 函数
  • 原文地址:https://www.cnblogs.com/zhangqifeng/p/1419010.html
Copyright © 2011-2022 走看看