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();

我知道这些并非都是一对一的,但我能得到一些帮助吗?

4

1 回答 1

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