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); }
public void Key_returns_null_for_ignored_property_names() { var entityType = new Model().AddEntityType(typeof(Order)); var entityBuilder = new InternalEntityBuilder(entityType, new InternalModelBuilder(new Model(), null)); entityBuilder.Ignore(Order.CustomerIdProperty.Name, ConfigurationSource.DataAnnotation); Assert.Null(entityBuilder.Key(new[] { Order.IdProperty.Name, Order.CustomerIdProperty.Name }, ConfigurationSource.Convention)); }
public void Index_returns_null_for_ignored_clr_properties() { var entityType = new Model().AddEntityType(typeof(Order)); var entityBuilder = new InternalEntityBuilder(entityType, new InternalModelBuilder(new Model(), null)); entityBuilder.Ignore(Order.CustomerIdProperty.Name, ConfigurationSource.Explicit); Assert.Null(entityBuilder.Index(new[] { Order.IdProperty, Order.CustomerIdProperty }, ConfigurationSource.DataAnnotation)); }
public void Cannot_ignore_property_that_is_part_of_same_or_higher_source_key() { var entityType = new Model().AddEntityType(typeof(Order)); var entityBuilder = new InternalEntityBuilder(entityType, new InternalModelBuilder(new Model(), null)); Assert.NotNull(entityBuilder.Key(new[] { Order.IdProperty, Order.CustomerIdProperty }, ConfigurationSource.Explicit)); Assert.False(entityBuilder.Ignore(Order.CustomerIdProperty.Name, ConfigurationSource.DataAnnotation)); Assert.NotEmpty(entityBuilder.Metadata.Properties.Where(p => p.Name == Order.CustomerIdProperty.Name)); Assert.NotEmpty(entityBuilder.Metadata.Keys); }