Используйте Mvc 2 с ninject 2 и NHibernate - Get SessionFactory - PullRequest
2 голосов
/ 31 октября 2010

Я пытаюсь объединить 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();
}

Если у вас есть лучшие способы интеграции этих трех библиотек, пожалуйста, скажите мне.

1 Ответ

2 голосов
/ 01 ноября 2010

Я делаю по сути то же самое в своем проекте, однако я не использую провайдера для ISession. вот мой переплет:

        Bind<ISessionFactory>()
            .ToProvider<SessionFactoryBuilder>()
            .InSingletonScope();

        Bind<ISession>()
            .ToMethod( context => context.Kernel.Get<ISessionFactory>().OpenSession() )
            .InRequestScope();
...