2009-10-23 62 views
4

我用流利的Nhibernate。 現在我想調用一些存儲過程並使用命名查詢。 我創造了一些XML:NHibernate流利和命名查詢

<?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)); 

現在我總是異常:{ 「休眠映射的xmlns = '' 是沒有預料到」}(最內層除外) {「有是在XML文檔(1,2)中的錯誤。「}

我擺弄,但如果我刪除hibernate-mapping然後它抱怨sql-query標記。

我的方法有什麼問題?我用Google搜索已經找到例子,但當然有出良好....

任何暗示表示讚賞

回答

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

我不知道是什麼幫助,但現在它的工作....

+0

顯然,命名空間聲明不能在.hbm文件是空的。這就是爲什麼起初你得到一個異常說'{「hibernate-mapping xmlns =''不是預期的。」}但是當你把'xmlns =「urn:nhibernate-mapping-2.2」'在那裏NHibernate很滿意。 – Oliver 2011-05-31 00:42:18