Esempio n. 1
0
        public AbstraXProviderDbSet(AbstraXProviderDataProvider provider, AbstraXProviderDataContext abstraXProviderContext, string setName)
        {
            this.provider = provider;
            this.abstraXProviderContext = abstraXProviderContext;
            this.setName = setName;
            this.query   = new AbstraXProviderQuery();

            expression = Expression.Constant(this);
        }
 public AbstraXProviderMappingParameters(AbstraXProviderDataProvider dataProvider, Type clrType, ValueConverter converter = null, ValueComparer comparer = null, ValueComparer keyComparer = null, ValueComparer structuralComparer = null, Func <IProperty, IEntityType, ValueGenerator> valueGeneratorFactory = null)
 {
     this.DataProvider          = dataProvider;
     this.ClrType               = clrType;
     this.ValueConverter        = converter;
     this.ValueComparer         = comparer;
     this.KeyComparer           = keyComparer;
     this.StructuralComparer    = structuralComparer;
     this.ValueGeneratorFactory = valueGeneratorFactory;
 }
Esempio n. 3
0
 public AbstraXProviderCoreTypeMapping(Type type, AbstraXProviderDataProvider abstraXProviderDataProvider) : base(abstraXProviderDataProvider.GetMappingParameters <CoreTypeMappingParameters>(type))
 {
     this.type = type;
     this.abstraXProviderDataProvider = abstraXProviderDataProvider;
 }
Esempio n. 4
0
 public AbstraXProviderCoreTypeMapping(IProperty property, AbstraXProviderDataProvider abstraXProviderDataProvider) : base(abstraXProviderDataProvider.GetMappingParameters <CoreTypeMappingParameters>(property))
 {
     this.property = property;
     this.abstraXProviderDataProvider = abstraXProviderDataProvider;
 }
Esempio n. 5
0
 public AbstraXProviderCoreTypeMapping(MemberInfo member, AbstraXProviderDataProvider abstraXProviderDataProvider) : base(abstraXProviderDataProvider.GetMappingParameters <CoreTypeMappingParameters>(member))
 {
     this.member = member;
     this.abstraXProviderDataProvider = abstraXProviderDataProvider;
 }
        public void ApplyServices(IServiceCollection services)
        {
            services.AddScoped <DatabaseProviderDependencies>();
            services.AddScoped <IChangeTrackerFactory, AbstraXProviderChangeTrackerFactory>();

            services.AddScoped <ISingletonOptionsInitializer, AbstraXProviderDataProvider>((p) =>
            {
                var dependencies = p.GetRequiredService <DatabaseProviderDependencies>();

                this.Provider = new AbstraXProviderDataProvider(dependencies, services);

                return(this.Provider);
            });

            services.AddScoped <IDbContextOptions, IDbContextOptions>(p => this.Provider.ContextOptions);
            services.AddScoped <IDbContextDependencies, AbstraXProviderDataProvider>(p => this.Provider);
            services.AddScoped <IDbSetInitializer, AbstraXProviderDataProvider>(p => this.Provider);
            services.AddScoped <IDatabaseProvider, AbstraXProviderDataProvider>(p => this.Provider);
            services.AddScoped <ICurrentDbContext, AbstraXProviderDataProvider>(p => this.Provider);
            services.AddScoped <IDbContextServices, AbstraXProviderDataProvider>(p => this.Provider);
            services.AddScoped <ITypeMappingSource, AbstraXProviderDataProvider>(p => this.Provider);
            services.AddScoped <IDbSetFinder, AbstraXProviderDataProvider>(p => this.Provider);
            services.AddScoped <IEntityGraphAttacher, EntityGraphAttacher>();
            services.AddScoped <IDiagnosticsLogger <DbLoggerCategory.ChangeTracking>, AbstraXProviderChangeTrackingLogger>();
            services.AddScoped <IDiagnosticsLogger <DbLoggerCategory.Model>, AbstraXProviderModelLogger>();
            services.AddScoped <IDiagnosticsLogger <DbLoggerCategory.Model.Validation>, AbstraXProviderModelValidationLogger>();
            services.AddScoped <IUpdateAdapter, UpdateAdapter>();
            services.AddScoped <ILoggingOptions, AbstraXProviderLoggingOptions>();
            services.AddScoped <IModel, Model>(p => (Model)this.Provider.Model);
            services.AddScoped <IStateManager, AbstraXProviderDataProvider>(p => this.Provider);
            services.AddScoped <IChangeDetector, ChangeDetector>();
            services.AddScoped <ILocalViewListener, LocalViewListener>();
            services.AddScoped <INavigationFixer, NavigationFixer>();
            services.AddScoped <IInternalEntityEntryNotifier, InternalEntityEntryNotifier>();
            services.AddScoped <IEntityEntryGraphIterator, EntityEntryGraphIterator>();
            services.AddScoped <IAbstraXProviderServices, AbstraXProviderServices>();
            services.AddScoped <IInternalEntityEntryFactory, InternalEntityEntryFactory>();
            services.AddScoped <IValueGenerationManager, ValueGenerationManager>();
            services.AddScoped <IInternalEntityEntrySubscriber, InternalEntityEntrySubscriber>();
            services.AddScoped <IEntityTypeAddedConvention, OwnedEntityTypeAttributeConvention>();
            services.AddScoped <IEntityTypeAddedConvention, NotMappedMemberAttributeConvention>();
            services.AddScoped <IEntityTypeAddedConvention, BaseTypeDiscoveryConvention>();
            services.AddScoped <IEntityTypeAddedConvention, PropertyDiscoveryConvention>();
            services.AddScoped <IEntityTypeAddedConvention, ServicePropertyDiscoveryConvention>();
            services.AddScoped <IEntityTypeAddedConvention, KeyDiscoveryConvention>();
            services.AddScoped <IEntityTypeAddedConvention, InversePropertyAttributeConvention>();
            services.AddScoped <IEntityTypeAddedConvention, RelationshipDiscoveryConvention>();
            services.AddScoped <IEntityTypeAddedConvention, DerivedTypeDiscoveryConvention>();
            services.AddScoped <IModelFinalizedConvention, ServicePropertyDiscoveryConvention>();
            services.AddScoped <IModelFinalizedConvention, InversePropertyAttributeConvention>();
            services.AddScoped <IModelFinalizedConvention, KeyAttributeConvention>();
            services.AddScoped <IModelFinalizedConvention, TypeMappingConvention>();
            services.AddScoped <IPropertyAddedConvention, KeyAttributeConvention>();
            services.AddScoped <IPropertyAddedConvention, KeyDiscoveryConvention>();
            services.AddScoped <IPropertyAddedConvention, BackingFieldConvention>();
            services.AddScoped <IConventionSetBuilder, RuntimeConventionSetBuilder>();
            services.AddScoped <IProviderConventionSetBuilder, ProviderConventionSetBuilder>();
            services.AddScoped <IMemoryCache, MemoryCache>(p => new MemoryCache(new MemoryCacheOptions()));
            services.AddScoped <IModelSource, ModelSource>();
            services.AddScoped <IModelCustomizer, ModelCustomizer>();
            services.AddScoped <IModelCacheKeyFactory, ModelCacheKeyFactory>();
            services.AddScoped <IConstructorBindingFactory, ConstructorBindingFactory>();
            services.AddScoped <IPropertyParameterBindingFactory, PropertyParameterBindingFactory>();
            services.AddScoped <IParameterBindingFactory, EntityTypeParameterBindingFactory>();
            services.AddScoped <IParameterBindingFactories, ParameterBindingFactories>();
            services.AddScoped <IMemberClassifier, MemberClassifier>();
            services.AddScoped <IValueConverterSelector, ValueConverterSelector>();
            services.AddScoped <IModelValidator, ModelValidator>();
            services.AddScoped <IRegisteredServices, RegisteredServices>();
            services.AddScoped <ProviderConventionSetBuilderDependencies>();
            services.AddScoped <ModelValidatorDependencies>();
            services.AddScoped <TypeMappingSourceDependencies>();
            services.AddScoped <RelationalConventionSetBuilderDependencies>();
            services.AddScoped <ValueConverterSelectorDependencies>();
            services.AddScoped <ModelSourceDependencies>();
            services.AddScoped <ModelCustomizerDependencies>();
            services.AddScoped <ModelCacheKeyFactoryDependencies>();

            this.Services = services;
        }