Ejemplo n.º 1
0
        private BinaryPropertyConfiguration(BinaryPropertyConfiguration source)
            : base(source)
        {
            DebugCheck.NotNull(source);

            IsRowVersion = source.IsRowVersion;
        }
        private BinaryPropertyConfiguration(BinaryPropertyConfiguration source)
            : base(source)
        {
            DebugCheck.NotNull(source);

            IsRowVersion = source.IsRowVersion;
        }
        private BinaryPropertyConfiguration(BinaryPropertyConfiguration source)
            : base(source)
        {
            Contract.Requires(source != null);

            IsRowVersion = source.IsRowVersion;
        }
Ejemplo n.º 4
0
        internal override bool IsCompatible(
            PrimitivePropertyConfiguration other,
            bool inCSpace,
            out string errorMessage)
        {
            BinaryPropertyConfiguration other1 = other as BinaryPropertyConfiguration;
            bool flag1 = base.IsCompatible(other, inCSpace, out errorMessage);
            int  num;

            if (other1 != null)
            {
                num = this.IsCompatible <bool, BinaryPropertyConfiguration>((Expression <Func <BinaryPropertyConfiguration, bool?> >)(c => c.IsRowVersion), other1, ref errorMessage) ? 1 : 0;
            }
            else
            {
                num = 1;
            }
            bool flag2 = num != 0;

            if (flag1)
            {
                return(flag2);
            }
            return(false);
        }
        public void Apply_should_set_timestamp_when_facets_empty()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration();

            new TimestampAttributeConvention()
                .Apply(new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => propertyConfiguration), new TimestampAttribute());

            Assert_Timestamp(propertyConfiguration);
        }
        public void Apply_should_set_timestamp_when_facets_empty()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration();

            new TimestampAttributeConvention.TimestampAttributeConventionImpl()
                .Apply(new MockPropertyInfo(), propertyConfiguration, new TimestampAttribute());

            Assert_Timestamp(propertyConfiguration);
        }
        public void Apply_should_set_timestamp_when_length_set()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration { MaxLength = 8 };

            new TimestampAttributeConvention.TimestampAttributeConventionImpl()
                .Apply(new MockPropertyInfo(), propertyConfiguration, new TimestampAttribute());

            Assert_Timestamp(propertyConfiguration);
        }
        public void Apply_should_set_timestamp_when_required_set()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration { IsNullable = false };

            new TimestampAttributeConvention.TimestampAttributeConventionImpl()
                .Apply(new MockPropertyInfo(), propertyConfiguration, new TimestampAttribute());

            Assert_Timestamp(propertyConfiguration);
        }
        public void Apply_should_set_timestamp_when_concurrency_token_set()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration { ConcurrencyMode = EdmConcurrencyMode.Fixed };

            new TimestampAttributeConvention.TimestampAttributeConventionImpl()
                .Apply(new MockPropertyInfo(), propertyConfiguration, new TimestampAttribute());

            Assert_Timestamp(propertyConfiguration);
        }
        public void Apply_should_set_timestamp_when_rowversion_set()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration { ColumnType = "rowversion" };

            new TimestampAttributeConvention.TimestampAttributeConventionImpl()
                .Apply(new MockPropertyInfo(), propertyConfiguration, new TimestampAttribute());

            Assert_Timestamp(propertyConfiguration);
        }
        public void Apply_should_not_set_timestamp_when_identity()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration { DatabaseGeneratedOption = DatabaseGeneratedOption.Identity };

            new TimestampAttributeConvention.TimestampAttributeConventionImpl()
                .Apply(new MockPropertyInfo(), propertyConfiguration, new TimestampAttribute());

            Assert.Null(propertyConfiguration.ColumnType);
        }
        public void Apply_should_not_set_timestamp_when_maxLength()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration { MaxLength = 100 };

            new TimestampAttributeConvention.TimestampAttributeConventionImpl()
                .Apply(new MockPropertyInfo(), propertyConfiguration, new TimestampAttribute());

            Assert.Null(propertyConfiguration.ColumnType);
        }
Ejemplo n.º 13
0
        public void IsRowVersion_configures_when_unset()
        {
            var innerConfig = new BinaryPropertyConfiguration();
            var config      = new LightweightPropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.IsRowVersion();

            Assert.Equal(true, innerConfig.IsRowVersion);
            Assert.Same(config, result);
        }
        public void IsRowVersion_configures_when_unset()
        {
            var innerConfig = new Properties.Primitive.BinaryPropertyConfiguration();
            var config      = new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.IsRowVersion();

            Assert.Equal(true, innerConfig.IsRowVersion);
            Assert.Same(config, result);
        }
        private void Assert_Timestamp(BinaryPropertyConfiguration binaryPropertyConfiguration)
        {
            binaryPropertyConfiguration.Configure(EdmProperty.Primitive("P", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)));

            Assert.Equal("rowversion", binaryPropertyConfiguration.ColumnType);
            Assert.Equal(false, binaryPropertyConfiguration.IsNullable);
            Assert.Equal(ConcurrencyMode.Fixed, binaryPropertyConfiguration.ConcurrencyMode);
            Assert.Equal(DatabaseGeneratedOption.Computed, binaryPropertyConfiguration.DatabaseGeneratedOption);
            Assert.Equal(8, binaryPropertyConfiguration.MaxLength.Value);
        }
Ejemplo n.º 16
0
        internal override void MakeCompatibleWith(PrimitivePropertyConfiguration other, bool inCSpace)
        {
            base.MakeCompatibleWith(other, inCSpace);
            BinaryPropertyConfiguration propertyConfiguration = other as BinaryPropertyConfiguration;

            if (propertyConfiguration == null || !propertyConfiguration.IsRowVersion.HasValue)
            {
                return;
            }
            this.IsRowVersion = new bool?();
        }
Ejemplo n.º 17
0
        internal override void FillFrom(PrimitivePropertyConfiguration other, bool inCSpace)
        {
            base.FillFrom(other, inCSpace);
            BinaryPropertyConfiguration propertyConfiguration = other as BinaryPropertyConfiguration;

            if (propertyConfiguration == null || this.IsRowVersion.HasValue)
            {
                return;
            }
            this.IsRowVersion = propertyConfiguration.IsRowVersion;
        }
        public void Cloning_a_binary_property_configuration_clones_its_property_information()
        {
            var configuration = new BinaryPropertyConfiguration();

            configuration.IsRowVersion = true;

            var clone = (BinaryPropertyConfiguration)
                        Cloning_a_length_property_configuration_clones_its_property_information(configuration);

            Assert.True(clone.IsRowVersion.Value);
        }
Ejemplo n.º 19
0
        internal override void CopyFrom(PrimitivePropertyConfiguration other)
        {
            base.CopyFrom(other);
            BinaryPropertyConfiguration propertyConfiguration = other as BinaryPropertyConfiguration;

            if (propertyConfiguration == null)
            {
                return;
            }
            this.IsRowVersion = propertyConfiguration.IsRowVersion;
        }
        public void Apply_should_set_timestamp_when_required_set()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration
                                            {
                                                IsNullable = false
                                            };

            new TimestampAttributeConvention()
                .Apply(new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => propertyConfiguration), new TimestampAttribute());

            Assert_Timestamp(propertyConfiguration);
        }
        public void Apply_should_set_timestamp_when_concurrency_token_set()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration
                                            {
                                                ConcurrencyMode = ConcurrencyMode.Fixed
                                            };

            new TimestampAttributeConvention()
                .Apply(new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => propertyConfiguration), new TimestampAttribute());

            Assert_Timestamp(propertyConfiguration);
        }
        public void Apply_should_set_timestamp_when_rowversion_set()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration
                                            {
                                                ColumnType = "rowversion"
                                            };

            new TimestampAttributeConvention()
                .Apply(new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => propertyConfiguration), new TimestampAttribute());

            Assert_Timestamp(propertyConfiguration);
        }
        public void Apply_should_not_set_timestamp_when_maxLength()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration
                                            {
                                                MaxLength = 100
                                            };

            new TimestampAttributeConvention()
                .Apply(new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => propertyConfiguration), new TimestampAttribute());

            Assert.Null(propertyConfiguration.ColumnType);
        }
        public void Apply_should_not_set_timestamp_when_identity()
        {
            var propertyConfiguration = new BinaryPropertyConfiguration
                                            {
                                                DatabaseGeneratedOption = DatabaseGeneratedOption.Identity
                                            };

            new TimestampAttributeConvention()
                .Apply(new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => propertyConfiguration), new TimestampAttribute());

            Assert.Null(propertyConfiguration.ColumnType);
        }
Ejemplo n.º 25
0
        public void IsRowVersion_is_noop_when_set()
        {
            var innerConfig = new BinaryPropertyConfiguration
            {
                IsRowVersion = false
            };
            var config = new LightweightPropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.IsRowVersion();

            Assert.Equal(false, innerConfig.IsRowVersion);
            Assert.Same(config, result);
        }
        private void Assert_Timestamp(BinaryPropertyConfiguration binaryPropertyConfiguration)
        {
            var property = EdmProperty.CreatePrimitive("P", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String));

            binaryPropertyConfiguration.Configure(property);

            Assert.Equal("String", property.TypeName);
            Assert.Equal(false, property.Nullable);
            Assert.Equal(ConcurrencyMode.Fixed, property.ConcurrencyMode);
            Assert.Equal(StoreGeneratedPattern.Computed, property.GetStoreGeneratedPattern());
            Assert.Equal(8, property.MaxLength.Value);

            var primitiveType = new PrimitiveType();

            EdmType.Initialize(primitiveType, "rowversion", "N", DataSpace.SSpace, false, null);
            var mockDbProviderManifest = new Mock <DbProviderManifest>();

            mockDbProviderManifest.Setup(m => m.GetStoreTypes())
            .Returns(new ReadOnlyCollection <PrimitiveType>(new List <PrimitiveType> {
                primitiveType
            }));
            mockDbProviderManifest.Setup(m => m.GetFacetDescriptions(It.IsAny <EdmType>()))
            .Returns(new ReadOnlyCollection <FacetDescription>(new List <FacetDescription>()));
            PrimitiveType.Initialize(primitiveType, PrimitiveTypeKind.Binary, mockDbProviderManifest.Object);

            var column = EdmProperty.CreatePrimitive("P", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String));

            binaryPropertyConfiguration.Configure(
                column,
                new EntityType("E", "N", DataSpace.SSpace),
                mockDbProviderManifest.Object);

            Assert.Equal("rowversion", column.TypeName);
            Assert.Equal(true, column.Nullable);
            Assert.Equal(ConcurrencyMode.None, column.ConcurrencyMode);
            Assert.Null(column.GetStoreGeneratedPattern());
            Assert.Null(column.MaxLength);
        }
        public void IsRowVersion_is_noop_when_set()
        {
            var innerConfig = new BinaryPropertyConfiguration
                                  {
                                      IsRowVersion = false
                                  };
            var config = new LightweightPropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.IsRowVersion();

            Assert.Equal(false, innerConfig.IsRowVersion);
            Assert.Same(config, result);
        }
        private void Assert_Timestamp(BinaryPropertyConfiguration binaryPropertyConfiguration)
        {
            var property = EdmProperty.CreatePrimitive("P", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String));
            binaryPropertyConfiguration.Configure(property);

            Assert.Equal("String", property.TypeName);
            Assert.Equal(false, property.Nullable);
            Assert.Equal(ConcurrencyMode.Fixed, property.ConcurrencyMode);
            Assert.Equal(StoreGeneratedPattern.Computed, property.GetStoreGeneratedPattern());
            Assert.Equal(8, property.MaxLength.Value);
            
            var primitiveType = new PrimitiveType();
            EdmType.Initialize(primitiveType, "rowversion", "N", DataSpace.SSpace, false, null);
            var mockDbProviderManifest = new Mock<DbProviderManifest>();
            mockDbProviderManifest.Setup(m => m.GetStoreTypes())
                .Returns(new ReadOnlyCollection<PrimitiveType>(new List<PrimitiveType> { primitiveType }));
            mockDbProviderManifest.Setup(m => m.GetFacetDescriptions(It.IsAny<EdmType>()))
                .Returns(new ReadOnlyCollection<FacetDescription>(new List<FacetDescription>()));
            PrimitiveType.Initialize(primitiveType, PrimitiveTypeKind.Binary, mockDbProviderManifest.Object);

            var column = EdmProperty.CreatePrimitive("P", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String));
            binaryPropertyConfiguration.Configure(
                column,
                new EntityType("E", "N", DataSpace.SSpace),
                mockDbProviderManifest.Object);

            Assert.Equal("rowversion", column.TypeName);
            Assert.Equal(true, column.Nullable);
            Assert.Equal(ConcurrencyMode.None, column.ConcurrencyMode);
            Assert.Null(column.GetStoreGeneratedPattern());
            Assert.Null(column.MaxLength);
        }
        public void IsRowVersion_configures_when_unset()
        {
            var innerConfig = new BinaryPropertyConfiguration();
            var config = new LightweightPropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.IsRowVersion();

            Assert.Equal(true, innerConfig.IsRowVersion);
            Assert.Same(config, result);
        }
Ejemplo n.º 30
0
 internal BinaryPropertyConfiguration(Properties.Primitive.BinaryPropertyConfiguration configuration)
     : base(configuration)
 {
 }
Ejemplo n.º 31
0
 private BinaryPropertyConfiguration(BinaryPropertyConfiguration source)
     : base((LengthPropertyConfiguration)source)
 {
     this.IsRowVersion = source.IsRowVersion;
 }
        private void Assert_Timestamp(BinaryPropertyConfiguration binaryPropertyConfiguration)
        {
            binaryPropertyConfiguration.Configure(new EdmProperty().AsPrimitive());

            Assert.Equal("rowversion", binaryPropertyConfiguration.ColumnType);
            Assert.Equal(false, binaryPropertyConfiguration.IsNullable);
            Assert.Equal(EdmConcurrencyMode.Fixed, binaryPropertyConfiguration.ConcurrencyMode);
            Assert.Equal(DatabaseGeneratedOption.Computed, binaryPropertyConfiguration.DatabaseGeneratedOption);
            Assert.Equal(8, binaryPropertyConfiguration.MaxLength.Value);
        }
        public void IsRowVersion_is_noop_when_set()
        {
            var innerConfig = new Properties.Primitive.BinaryPropertyConfiguration
                {
                    IsRowVersion = false
                };
            var config = new ConventionPrimitivePropertyConfiguration(new MockPropertyInfo(), () => innerConfig);

            var result = config.IsRowVersion();

            Assert.Equal(false, innerConfig.IsRowVersion);
            Assert.Same(config, result);
        }