我正在尝试将Mvc2与Ninject和NHibernate结合起来,并在此处找到了一个指南: http://damianm.com/tech/nhibernate-mvc-and-ninject/
问题在于他使用Ninject 1.所以我必须转换它,我几乎成功了,但我仍有一个问题:
我不知道如何在这里转换“context.Kernel.Get”:
protected override ISession CreateInstance(IContext context)
{
var sessionFactory = context.Kernel.Get<ISessionFactory>();
return sessionFactory.OpenSession();
}
如果您有更好的方法来整合这三个库,请告诉我。
答案 0 :(得分:2)
我在我的项目中做的基本相同,但是我没有使用ISession的提供程序。这是我的约束力:
Bind<ISessionFactory>()
.ToProvider<SessionFactoryBuilder>()
.InSingletonScope();
Bind<ISession>()
.ToMethod( context => context.Kernel.Get<ISessionFactory>().OpenSession() )
.InRequestScope();