public void Property_is_returned_if_it_implements_IClrPropertyGetter()
        {
            var getterMock = new Mock<IClrPropertyGetter>();
            var propertyMock = getterMock.As<IProperty>();

            var source = new ClrPropertyGetterSource();

            Assert.Same(getterMock.Object, source.GetAccessor(propertyMock.Object));
        }
        public void Property_is_returned_if_it_implements_IClrPropertyGetter()
        {
            var getterMock   = new Mock <IClrPropertyGetter>();
            var propertyMock = getterMock.As <IProperty>();

            var source = new ClrPropertyGetterSource();

            Assert.Same(getterMock.Object, source.GetAccessor(propertyMock.Object));
        }
예제 #3
0
        public ForeignKeyValuePropagator(
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource)
        {
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");

            _getterSource             = getterSource;
            _collectionAccessorSource = collectionAccessorSource;
        }
        public ForeignKeyValueGenerator(
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource)
        {
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");

            _getterSource = getterSource;
            _collectionAccessorSource = collectionAccessorSource;
        }
        public void Delegate_getter_is_cached_by_type_and_property_name()
        {
            var entityType = new Model().AddEntityType(typeof(Customer));
            var idProperty = entityType.GetOrAddProperty("Id", typeof(int));

            var source = new ClrPropertyGetterSource();

            var accessor = source.GetAccessor(typeof(Customer), "Id");
            Assert.Same(accessor, source.GetAccessor(typeof(Customer), "Id"));
            Assert.Same(accessor, source.GetAccessor(idProperty));
        }
        public void Delegate_getter_is_cached_by_type_and_property_name()
        {
            var entityType = new Model().AddEntityType(typeof(Customer));
            var idProperty = entityType.GetOrAddProperty("Id", typeof(int));

            var source = new ClrPropertyGetterSource();

            var accessor = source.GetAccessor(typeof(Customer), "Id");

            Assert.Same(accessor, source.GetAccessor(typeof(Customer), "Id"));
            Assert.Same(accessor, source.GetAccessor(idProperty));
        }
예제 #7
0
        public NavigationFixer(
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrPropertySetterSource setterSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource,
            [NotNull] DbContextService <IModel> model)
        {
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(setterSource, "setterSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");
            Check.NotNull(model, "model");

            _getterSource             = getterSource;
            _setterSource             = setterSource;
            _collectionAccessorSource = collectionAccessorSource;
            _model = model;
        }
예제 #8
0
        public NavigationFixer(
            [NotNull] DbContextConfiguration configuration,
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrPropertySetterSource setterSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource)
        {
            Check.NotNull(configuration, "configuration");
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(setterSource, "setterSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");

            _configuration            = configuration;
            _getterSource             = getterSource;
            _setterSource             = setterSource;
            _collectionAccessorSource = collectionAccessorSource;
        }
예제 #9
0
        public NavigationFixer(
            [NotNull] DbContextConfiguration configuration,
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrPropertySetterSource setterSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource)
        {
            Check.NotNull(configuration, "configuration");
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(setterSource, "setterSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");

            _configuration = configuration;
            _getterSource = getterSource;
            _setterSource = setterSource;
            _collectionAccessorSource = collectionAccessorSource;
        }
예제 #10
0
        public ForeignKeyValuePropagator(
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrCollectionAccessorSource collectionAccessorSource,
            [NotNull] DbContextService <ValueGeneratorCache> valueGeneratorCache,
            [NotNull] DbContextService <DataStoreServices> storeServices)
        {
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(collectionAccessorSource, "collectionAccessorSource");
            Check.NotNull(valueGeneratorCache, "valueGeneratorCache");
            Check.NotNull(storeServices, "storeServices");

            _getterSource             = getterSource;
            _collectionAccessorSource = collectionAccessorSource;
            _valueGeneratorCache      = valueGeneratorCache;
            _storeServices            = storeServices;
        }
예제 #11
0
        public StateEntryMetadataServices(
            [NotNull] ClrPropertyGetterSource getterSource,
            [NotNull] ClrPropertySetterSource setterSource,
            [NotNull] OriginalValuesFactory originalValuesFactory,
            [NotNull] RelationshipsSnapshotFactory relationshipsSnapshotFactory,
            [NotNull] StoreGeneratedValuesFactory storeGeneratedValuesFactory,
            [NotNull] EntityKeyFactorySource entityKeyFactorySource)
        {
            Check.NotNull(getterSource, "getterSource");
            Check.NotNull(setterSource, "setterSource");
            Check.NotNull(originalValuesFactory, "originalValuesFactory");
            Check.NotNull(relationshipsSnapshotFactory, "relationshipsSnapshotFactory");
            Check.NotNull(storeGeneratedValuesFactory, "storeGeneratedValuesFactory");
            Check.NotNull(entityKeyFactorySource, "entityKeyFactorySource");

            _getterSource                 = getterSource;
            _setterSource                 = setterSource;
            _originalValuesFactory        = originalValuesFactory;
            _relationshipsSnapshotFactory = relationshipsSnapshotFactory;
            _storeGeneratedValuesFactory  = storeGeneratedValuesFactory;
            _entityKeyFactorySource       = entityKeyFactorySource;
        }
예제 #12
0
        public static EntityServicesBuilder UseClrPropertyGetterSource([NotNull] this EntityServicesBuilder builder, [NotNull] ClrPropertyGetterSource source)
        {
            Check.NotNull(source, "source");

            builder.ServiceCollection.AddInstance(source);

            return(builder);
        }