NHibernate <sql-query> in hbm - 无法执行查询



>我有一个 HBM 文件,我想在其中放置和执行原始 sql 查询。这是我放在 hbm 文件中的内容:

  <sql-query name="SqlSrcMyStuff" callable="true" >
    <return-scalar column="RU_ID" type="System.Int32" />
    <![CDATA[ 
          select some_id
          from some_table
          where param1 = ? and param2 = ?
    ]]>
  </sql-query>

这是我的代码:

IList listOfRules = objMyDAO.GetByNamedQuery("SqlSrcMyStuff", arrParams);

但我收到异常"无法执行查询"。但是当我接受查询时,它显示在异常中并替换参数并针对我的数据库运行 - 查询执行正常。

如何让它运行我的原始 sql 查询?

HBM 应该是

<sql-query name="SqlSrcMyStuff" callable="true" >
    <return-scalar column="RU_ID" type="System.Int32" />
    <![CDATA[ 
          select some_col  AS RU_ID
          from some_table
          where somecol1 = :param1 and somecol2 = :param2
    ]]>
</sql-query>

和一个查询

var result = session.GetNamedQuery("SqlSrcMyStuff")
        .SetInt32("param1", 1)
        .SetInt32("param2", 1)
        .UniqueResult<int>();  

这里的结果应该只是一个整数,而不是 IList...因为这就是我们所说的(标量作为返回(Als 检查类似的问答

最新更新