protected override void Load(ContainerBuilder builder) { builder.RegisterType <SQLiteConnection>().WithParameter(new TypedParameter(typeof(string), "databasePath")); builder.RegisterType <SQLiteAsyncConnection>().WithParameter(new TypedParameter(typeof(string), "databasePath")); builder.Register <SQLiteConnectionFactory>(c => { var componentContext = c.Resolve <IComponentContext>(); return((databaseFilename) => { var databasePath = PathHelper.AddAppDataPathToFilename(databaseFilename); return c.Resolve <SQLiteConnection>(new TypedParameter(typeof(string), databasePath)); }); }); builder.Register <SQLiteAsyncConnectionFactory>(c => { var componentContext = c.Resolve <IComponentContext>(); return((databaseFilename) => { var databasePath = PathHelper.AddAppDataPathToFilename(databaseFilename); return c.Resolve <SQLiteAsyncConnection>(new TypedParameter(typeof(string), databasePath)); }); }); }