Я использую NHibernate и ninject в ASP.Net MVC, , используя эту страницу в качестве руководства .Одна вещь, которую я считаю странной, заключается в том, что в этом коде (на полпути вниз по странице)
public class RepositoryModule : NinjectModule
{
public override void Load()
{
const string connectionString = @"Server=localhost; Port=3306; Database=trucktracker; Uid=root; Pwd='your_own_password';";
NHibernateHelper helper = new NHibernateHelper(connectionString);
Bind<ISessionFactory>().ToConstant(helper.SessionFactory).InSingletonScope();
Bind<IUnitOfWork>().To<UnitOfWork>().InRequestScope();
Bind<ISession>().ToProvider(new SessionProvider()).InRequestScope();
Bind<IIntKeyedRepository<Truck>>().To<Repository<Truck>>().InRequestScope();
}
}
Мне кажется странным, что вам нужна эта строка для каждой модели:
Bind<IIntKeyedRepository<Truck>>().To<Repository<Truck>>().InRequestScope();
Если у меня есть 100 различных таблиц (и, следовательно, моделей), действительно ли мне нужно добавлять эту строку для каждого моего класса?Нет ли лучшего способа, чтобы я мог просто объявить это один раз и использовать наследование для передачи типа в мой контроллер?