Пример #1
0
        public static IServiceCollection AddSqlReader(this IServiceCollection services, Action <MiCakeSqlReaderOptions> optionsAction = null)
        {
            MiCakeSqlReaderOptions options = new();

            optionsAction?.Invoke(options);

            var providers = (options as IHasAccessor <IEnumerable <ISqlDataProvider> >).Instance;

            var manager = new SqlDataManager();

            foreach (var provider in providers)
            {
                manager.AddSqlDataProvider(provider);
            }

            manager.PopulateSql();

            services.TryAddSingleton <ISqlDataManager>(manager);
            services.TryAddSingleton <ISqlReader, DefaultSqlReader>();

            return(services);
        }