0
我在試圖在項目中使用這三個庫時遇到問題。我明白,因此調用存儲過程並不直接支持Fluent NHibernate根據他們的FAQ。所以我定義的映射簡單hbl.xml文件我的存儲過程:使用Autofac,NCommon和Fluent NHibernate,調用存儲過程
<?xml version='1.0' encoding='utf-8'?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="My.Data.Mappings" assembly="My.Data.Mappings">
<sql-query name="MyStoredProc" callable="true">
<query-param name="paramA" type="date" />
<query-param name="paramB" type="int" />
<return alias="MyResultClass" class="My.Data.Mappings.MyResultClass, EP.Core.Data.Mappings" />
exec myStoredProc @paramA = :paramA, @paramB = :paramB
</sql-query>
</hibernate-mapping>
所以現在,在我的服務代碼,使用NCommon庫,我有:
using (var scope = new UnitOfWorkScope())
{
...
DontKnowWhereToGetSessionManager.Instance.Session.GetNamedQuery("MyStoredProc").List<MyResultClass();
...
}
所以,唯一的我可以看到獲取DontKnowWhereToGetSessionManager的方法是讓Autofac將其注入到我的服務中。但是這看起來是錯誤的。有沒有辦法從UnitOfWorkScope中獲取它?或者我應該只注入Autofac?