zoukankan      html  css  js  c++  java
  • 转:NHibernate 存储过程

    http://stackoverflow.com/questions/928847/how-to-get-the-return-value-from-a-sql-server-stored-procedure-into-nhibernate

    <?xml version="1.0" encoding="utf-8" ?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="DocumentManagement.Data" namespace="DocumentManagement.Data.Repositories" >

    <sql-query name="GetDocument">
    <return class="DocumentManagement.Core.Models.PhysicalDocument, DocumentManagement.Core">
    <return-property column="DocId" name="Id" />
    <return-property column="Filepath" name="Filepath" />
    <return-property column="Filename" name="Filename" />
    </return>
    exec Investor_GetDocumentById :userId, :docId
    </sql-query>

    </hibernate-mapping>


    public PhysicalDocument GetDocumentPath(int userId, int docId)
    {
    var query = Session.GetNamedQuery("GetDocument")
    .SetInt32("userId", userId)
    .SetInt32("docId", docId).List<PhysicalDocument>();

    return query[0];
    }

    ISession session = sessionFactory.GetSession();

    using(ITransaction transaction = session.BeginTransaction())
    {
    IDbCommand command = new SqlCommand();
    command.Connection = session.Connection;

    // Enlist IDbCommand into the NHibernate transaction
    transaction.Enlist(command);

    command.CommandType = CommandType.StoredProcedure;
    command.CommandText = "dbo.SetUserInfo";

    // Set input parameters
    var parm = new SqlParameter("@UserID", SqlDbType.Int);
    parm.Value = 12345;
    command.Parameters.Add(parm);

    // Set output parameter
    var outputParameter = new SqlParameter("@Quantity", SqlDbType.Int);
    outputParameter.Direction = ParameterDirection.Output;
    command.Parameters.Add(outputParameter);

    // Set a return value
    var returnParameter = new SqlParameter("@RETURN_VALUE", SqlDbType.Int);
    returnParameter.Direction = ParameterDirection.ReturnValue;
    command.Parameters.Add(returnParameter);

    // Execute the stored procedure
    command.ExecuteNonQuery();
    }

  • 相关阅读:
    第一章 jQuery基础方法回顾
    php无法执行python
    echarts
    logstash配置
    storm结合kafka
    spark中读取elasticsearch数据
    hadoop中读取protobuf数据
    spark1.3.1配置模板
    hadoop2.6.0配置模板
    使用jnetpcap捕获数据包进行流量检测
  • 原文地址:https://www.cnblogs.com/wucg/p/3250143.html
Copyright © 2011-2022 走看看