private void RegisterEfServicesAndRepositories(Container container)
{
//Make the default lifetime of objects limited to request
var connectionString = ConfigurationManager.ConnectionStrings["DataContext"].ConnectionString;
container.Register<IDbConnectionFactory>(c =>
new OrmLiteConnectionFactory(connectionString, SqlServerOrmLiteDialectProvider.Instance)
{
ConnectionFilter = x => new ProfiledDbConnection(x, Profiler.Current)
});
//---Entity Framework (Uncomment to use)
//database
EfConfigure.Initialize(connectionString);
container.Register<IUnitOfWork>(c => new DataContext.DataContext());
//repositories
container.Register<IToDoRepository>(c => new ToDoRepository(c.Resolve<IUnitOfWork>()));
//services
container.Register<IToDoService>(c => new ToDoService(c.Resolve<IToDoRepository>() as ToDoRepository));
}