예제 #1
0
 public SqlResolver(InsqlDescriptor insqlDescriptor, IServiceProvider serviceProvider, ISqlResolveMatcher resolveMatcher, IEnumerable <ISqlResolveFilter> resolveFilters)
 {
     this.insqlDescriptor = insqlDescriptor;
     this.serviceProvider = serviceProvider;
     this.resolveMatcher  = resolveMatcher;
     this.resolveFilters  = resolveFilters;
 }
예제 #2
0
        public static IInsqlBuilder AddResolveMatcher(this IInsqlBuilder builder, ISqlResolveMatcher sectionMatcher)
        {
            builder.Services.RemoveAll <ISqlResolveMatcher>();

            builder.Services.AddSingleton <ISqlResolveMatcher>(sectionMatcher);

            return(builder);
        }
예제 #3
0
        public SqlResolverFactory(IServiceProvider serviceProvider)
        {
            this.serviceProvider = serviceProvider;

            this.resolveMatcher      = serviceProvider.GetRequiredService <ISqlResolveMatcher>();
            this.descriptorMapper    = serviceProvider.GetRequiredService <IInsqlDescriptorMapper>();
            this.resolveFilters      = serviceProvider.GetServices <ISqlResolveFilter>();
            this.descriptorProviders = serviceProvider.GetServices <IInsqlDescriptorProvider>();

            this.LoadInsqlDescriptors();

            this.descriptorMapper.Mapping(this.insqlDescriptors.Values);
        }