4

私は流暢な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));

これで、常に Exception:(most inner exception) {"hibernate-mapping xmlns='' was not expected."} {"There is an error in XML document (1, 2)."} が発生しました。

いじりましたが、hibernate-mapping を削除すると、sql-query タグについて不平を言います。

私のアプローチで何が間違っていますか? 私はすでに例を見つけましたが、もちろん流暢ではありません....

どんなヒントでも大歓迎です

4

1 に答える 1

3

奇妙なことに、私はそれを使って動作させました:

<?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のような名前を付けました。

何が役に立ったのかわかりませんが、今はうまくいきました。

于 2009-10-26T10:04:01.223 に答える