2

これを変換するにはどうすればよいですか?

For<ISession>().Use(ctx => {
    var uow = (INHibernateUnitOfWork)ctx.GetInstance<IUnitOfWork>();
    return uow.Session;
});

注入するには?

私はこれを変換することができました:

For<ISessionSource>().Singleton().Use<NHibernateSessionSource>();

Bind<ISessionSource>()
    .To<NHibernateSessionSource>()
    .InSingletonScope()

そして、私もこれを変換することができたと思います:

For<IUnitOfWork>().HybridHttpOrThreadLocalScoped().Use<NHibernateUnitOfWork>();

Bind<IUnitOfWork>().To<NHibernateUnitOfWork>().InThreadScope();

これらがすべて1対1になるわけではないことは知っていますが、助けを得ることができますか?

4

1 に答える 1

5
Bind<ISession>().ToMethod(ctx => {
    var uow = (INHibernateUnitOfWork)ctx.Kernel.Get<IUnitOfWork>();
    return uow.Session;
});
于 2012-08-02T15:14:14.313 に答える