12

我一直在想,如果有可能讓Fluent-NHibernate與已經存在的存儲過程進行通信,並將結果集的映射分配給我自己的域對象。Fluent-NHibernate是否支持映射到過程?

也是流利NHibernate能夠直接執行沒有結果集返回的過程?

基本上我一直在考慮使用Fluent-NHibernate來替換一個帶域驅動設計的日期TypedDataSet模型的含義,該設計可以從DAL返回簡單對象。如果Fluent-NHibernate無法輕鬆使用SP,我想我最想擁有一個組合DAL,它將利用FNH進行簡單的CRUD操作,同時讓複雜的過程由Enterprise Library管理。雖然我認爲如果FNH不能與SP一起打好,那麼擁有2個競爭DAL並不是最理想的,但我很樂意聽到除了同時使用EntLib和FNH之外的任何其他想法。

+0

@Gregory我看了一下你的博客,說實話,我不知道,我已經與NHibernate/FNH鬧翻了,並且一直保持着它們出來的任何東西。這似乎是一個很好的問題,但打開堆棧溢出。 – 2011-05-12 13:03:49

回答

6

Fluent NHibernate的Trunk版本(在GitHub上)支持插入,更新和刪除存儲過程。

在映射類的構造函數,調用:

SqlInsert("StoredProcName"); 

免責聲明:我還沒有測試此我自己,但它肯定很快就會派上用場。

欲瞭解更多信息,請訪問Fluent NHibernate Google Group中的this thread

+0

很高興知道這些選擇程序遠沒有那麼有用,但我想這會變得更加怪異。 – 2010-02-01 17:24:46

11

只是爲了回答我自己的問題,答案是除了可以爲NHibernate編寫xml映射並將它們與Fluent-NHibernate映射結合使用外。 FNH的SP映射很可能稍後添加。