【问题标题】:NHibernate Fluent and named QueriesNHibernate Fluent 和命名查询
【发布时间】:2010-12-09 11:48:38
【问题描述】:

我正在流畅地使用 Nhibernate。 现在我想调用一些存储过程并使用命名查询。 我创建了一些 xml:

<?xml version="1.0" encoding="utf-8"?>
<hibernate-mapping>
  <sql-query name="CleanAppendicesHierarchies">
    exec intf_CleanUpAppendixHierarchy
  </sql-query>
</hibernate-mapping>

    FluentConfiguration cfg =
    Fluently.Configure().Database(MsSqlConfiguration.MsSql2005.ConnectionString(
c => c.Is(dbConnectionString)).ShowSql())
.Mappings(m => m.FluentMappings.AddFromAssembly(mappingAssembly))
.Mappings(m => m.HbmMappings.AddFromAssembly(mappingAssembly));

现在我总是得到异常:(最内在的异常) {"hibernate-mapping xmlns='' 不是预期的。"} {"XML 文档 (1, 2) 中有错误。"}

我摆弄了一下,但如果我删除了休眠映射,那么它会抱怨 sql-query 标记。

我的方法有什么问题?我用谷歌搜索了已经找到的例子,但当然没有 Fluent....

感谢任何提示

【问题讨论】:

    标签: nhibernate fluent named-query


    【解决方案1】:

    奇怪,我得到了它:

    <?xml version="1.0" encoding="utf-8" ?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
                       assembly="FactsheetsDataLayer"
                       namespace="FactsheetsDataLayer">  
      <sql-query name="CleanAppendicesHierarchies">
        exec intf_CleanUpAppendixHierarchy
      </sql-query>
    </hibernate-mapping>
    

    然后我将 XMl 命名为:POCOClassName.hbm.xml

    我不知道有什么帮助,但现在它起作用了....

    【讨论】:

    • 显然,.hbm 文件中的命名空间声明不能为空。这就是为什么一开始你有一个例外说{"hibernate-mapping xmlns='' was not expected."},但是当你把xmlns="urn:nhibernate-mapping-2.2"放在那里时,NHibernate就很满意了。
    猜你喜欢
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多