프로젝트에서이 세 라이브러리를 사용하는 데 문제가 있습니다. 나는 스토어드 프로 시저를 호출하는 것이 그들의 FAQ에 따라 Fluent NHibernate에서 직접적으로 지원되지 않는다는 것을 이해하고 따라서 호출한다. 그래서 난 내 저장 프로 시저에 대한 매핑 간단한 hbl.xml 파일을 정의하십시오 n 일반적인 라이브러리를 사용하여 내 서비스 코드에서, 그래서 지금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>
, 내가 가진 : 그래서 유일한
using (var scope = new UnitOfWorkScope())
{
...
DontKnowWhereToGetSessionManager.Instance.Session.GetNamedQuery("MyStoredProc").List<MyResultClass();
...
}
을 방법은 DontKnowWhereToGetSessionManager가 Autofac을 내 서비스에 주입시키는 방법입니다. 그러나 그것은 잘못된 길처럼 보입니다. UnitOfWorkScope에서 가져올 수있는 방법이 있습니까? 아니면 그냥 Autofac으로 주입해야합니까?