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();
    }

  • 相关阅读:
    java-并发解决方案
    linux-常用快捷键
    java-进程
    vim-常用快捷键
    数据库-事务
    spring-事务实现原理
    gdb
    x86 下的 struct 變數 member 擺放位置
    du 查看 資料夾 佔用空間
    ADC 計算時,階數的選擇
  • 原文地址:https://www.cnblogs.com/wucg/p/3250143.html
Copyright © 2011-2022 走看看