Exemple #1
0
        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));
                });
            });
        }