2011-02-14 65 views
1

我已經看了一些關於該主題的其他帖子,但大多數似乎都在處理選擇。我有一個存儲過程,它執行一些刪除和檢查,並簡單地將一個int作爲參數並返回一個成功的位。我想從我的代碼中使用尖銳體系結構中的流暢nHibernate來解決這個問題。使用Fluent刪除存儲過程nHibernate

任何有關如何最好地解決這個問題的想法? 謝謝

回答

2

您不能映射存儲過程與FluentNHibernate(AFAIK)。你需要一個XML映射這樣的(SQL服務器):

<?xml version="1.0" encoding="utf-8" ?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="Your.Xml.Mappings.Namespace"> 
    <sql-query name="DeleteSomeEntity" > 
    exec dbo.deleteSomeEntityProc ? 
    </sql-query> 
</hibernate-mapping> 

返回值可能會是object[]ArrayList如果你與NHibernate調用它。注意'?'論點,這將採取你的ID。要調用的名稱將是「DeleteSomeEntity」還要記住,您必須使用約定「.hbm.xml」命名該文件,並且需要將其作爲嵌入式資源包含在項目中!

對於FluentNHibernate加載的文件,你需要調用

database = database.Mappings(m => m.HbmMappings.AddFromAssembly(assembly)); 

上裝配初始化您的映射時調用的XML。

如果確實需要映射返回類型,則可以在映射中包含<return><return-property>聲明。我沒有這樣做,但是,你必須在NHibernate參考手冊中查找它。

HTH。

+0

這似乎很好地做這項工作,謝謝:-) – Ben 2011-02-16 09:24:00