public void Cannot_ignore_same_or_higher_source_property() { var entityType = new Model().AddEntityType(typeof(Order)); var entityBuilder = new InternalEntityBuilder(entityType, new InternalModelBuilder(new Model(), null)); Assert.True(entityBuilder.Ignore(Order.IdProperty.Name, ConfigurationSource.Convention)); Assert.NotNull(entityBuilder.Property(typeof(Order), Order.IdProperty.Name, ConfigurationSource.Convention)); Assert.NotNull(entityBuilder.Property(typeof(Order), Order.IdProperty.Name, ConfigurationSource.DataAnnotation)); Assert.False(entityBuilder.Ignore(Order.IdProperty.Name, ConfigurationSource.Convention)); Assert.False(entityBuilder.Ignore(Order.IdProperty.Name, ConfigurationSource.DataAnnotation)); Assert.NotNull(entityType.TryGetProperty(Order.IdProperty.Name)); }
public void Can_ignore_same_or_lower_source_property() { var entityType = new Model().AddEntityType(typeof(Order)); var entityBuilder = new InternalEntityBuilder(entityType, new InternalModelBuilder(new Model(), null)); Assert.True(entityBuilder.Ignore(Order.IdProperty.Name, ConfigurationSource.Explicit)); Assert.Null(entityType.TryGetProperty(Order.IdProperty.Name)); Assert.True(entityBuilder.Ignore(Order.IdProperty.Name, ConfigurationSource.Explicit)); Assert.Null(entityBuilder.Property(typeof(Order), Order.IdProperty.Name, ConfigurationSource.DataAnnotation)); Assert.Equal(Strings.PropertyIgnoredExplicitly(Order.IdProperty.Name, typeof(Order).FullName), Assert.Throws <InvalidOperationException>(() => Assert.NotNull(entityBuilder.Property(typeof(Order), Order.IdProperty.Name, ConfigurationSource.Explicit))).Message); }
public void Cannot_ignore_existing_property() { var entityType = new Model().AddEntityType(typeof(Order)); var property = entityType.AddProperty(Order.IdProperty.Name, typeof(int)); var entityBuilder = new InternalEntityBuilder(entityType, new InternalModelBuilder(new Model(), null)); Assert.Same(property, entityBuilder.Property(typeof(Order), Order.IdProperty.Name, ConfigurationSource.Convention).Metadata); Assert.False(entityBuilder.Ignore(Order.IdProperty.Name, ConfigurationSource.DataAnnotation)); Assert.Same(property, entityBuilder.Property(typeof(Order), Order.IdProperty.Name, ConfigurationSource.Convention).Metadata); Assert.False(entityBuilder.Ignore(Order.IdProperty.Name, ConfigurationSource.DataAnnotation)); Assert.NotNull(entityType.TryGetProperty(Order.IdProperty.Name)); Assert.Equal(Strings.PropertyAddedExplicitly(Order.IdProperty.Name, typeof(Order).FullName), Assert.Throws <InvalidOperationException>(() => entityBuilder.Ignore(Order.IdProperty.Name, ConfigurationSource.Explicit)).Message); }