【问题标题】:Wriong with source code for Nhibernate with stored procedure带有存储过程的 Nhibernate 的源代码错误
【发布时间】:2014-05-18 21:33:18
【问题描述】:

目标:
使存储过程与 nhibernate 一起工作。

问题:
我检索到一条错误消息:

could not execute query
[ exec sp_retrieveAllProductList @p0 ]
  Name:Produkt_kategori - Value:Dryck
[SQL: exec sp_retrieveAllProductList @p0]

源代码有什么问题?

信息:
- 使用 VS 2013。

【问题讨论】:

  • 这不是同一个问题。也许相同的目标但不同的问题陈述。问题陈述不是重复的。当我不涉及参数时,一切正常,但如果你使用参数,我无法收到结果。
  • 试试.SetString("product", pProduct)第一个参数需要匹配sql参数。
  • “那你为什么不接受我之前给出的答案,如果可行的话?”我尝试了您的解决方案,但它根本不起作用。
  • ".SetString("product", pProduct)" 错误消息:附加信息:参数产品在 [exec sp_retrieveAllProductList :Produkt_kategori] 中不作为命名参数存在..

标签: c# wpf nhibernate


【解决方案1】:

要使 AliasToBean 正常工作,返回的列名(及其类型)必须与要转换到的类的属性完全匹配。

【讨论】:

    【解决方案2】:
    <?xml version="1.0" encoding="utf-8" ?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="data_layer" namespace="data_layer">
      <sql-query name="sp_retrieveAllProductList">
        <return-scalar column="Produkt" type="string" />
        <return-scalar column="Produkt_kategori" type="string" />    
        exec sp_retrieveAllProductList :Produkt_kategori
      </sql-query>
    </hibernate-mapping>
    

    永远不要忘记将列更改为正确的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 2013-02-06
      • 2013-01-05
      • 2020-06-28
      • 1970-01-01
      相关资源
      最近更新 更多