diff --git a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs index 0ff22f8a995..07f182b233c 100644 --- a/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs +++ b/src/EFCore/Metadata/Builders/CollectionNavigationBuilder.cs @@ -22,7 +22,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders /// and it is not designed to be directly constructed in your application code. /// /// - public class CollectionNavigationBuilder : IInfrastructure + public class CollectionNavigationBuilder : IInfrastructure { /// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to @@ -105,7 +105,7 @@ public CollectionNavigationBuilder( /// not directly exposed in the public API surface. /// /// - InternalForeignKeyBuilder IInfrastructure.Instance => Builder; + IConventionForeignKeyBuilder IInfrastructure.Instance => Builder; /// /// diff --git a/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs b/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs index fa77e9f8017..99f9cfa1cc0 100644 --- a/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs +++ b/src/EFCore/Metadata/Builders/EntityTypeBuilder.cs @@ -25,7 +25,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders /// and it is not designed to be directly constructed in your application code. /// /// - public class EntityTypeBuilder : IInfrastructure + public class EntityTypeBuilder : IInfrastructure { /// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to @@ -46,7 +46,7 @@ public EntityTypeBuilder([NotNull] IMutableEntityType entityType) /// /// Gets the internal builder being used to configure the entity type. /// - InternalEntityTypeBuilder IInfrastructure.Instance => Builder; + IConventionEntityTypeBuilder IInfrastructure.Instance => Builder; /// /// The entity type being configured. diff --git a/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs b/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs index dad7807dcf2..92dee289d1a 100644 --- a/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs +++ b/src/EFCore/Metadata/Builders/EntityTypeBuilder`.cs @@ -786,6 +786,6 @@ public virtual DiscriminatorBuilder HasDiscriminator HasNoDiscriminator() => (EntityTypeBuilder)base.HasNoDiscriminator(); - private InternalEntityTypeBuilder Builder => this.GetInfrastructure(); + private InternalEntityTypeBuilder Builder => (InternalEntityTypeBuilder)this.GetInfrastructure(); } } diff --git a/src/EFCore/Metadata/Builders/IndexBuilder.cs b/src/EFCore/Metadata/Builders/IndexBuilder.cs index 62c0ad3bb74..63c5050b55e 100644 --- a/src/EFCore/Metadata/Builders/IndexBuilder.cs +++ b/src/EFCore/Metadata/Builders/IndexBuilder.cs @@ -18,7 +18,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders /// and it is not designed to be directly constructed in your application code. /// /// - public class IndexBuilder : IInfrastructure + public class IndexBuilder : IInfrastructure { private readonly InternalIndexBuilder _builder; @@ -39,7 +39,7 @@ public IndexBuilder([NotNull] IMutableIndex index) /// /// The internal builder being used to configure the index. /// - InternalIndexBuilder IInfrastructure.Instance => _builder; + IConventionIndexBuilder IInfrastructure.Instance => _builder; /// /// The index being configured. @@ -76,7 +76,7 @@ public virtual IndexBuilder IsUnique(bool unique = true) return this; } - private InternalIndexBuilder Builder => this.GetInfrastructure(); + private InternalIndexBuilder Builder => (InternalIndexBuilder)this.GetInfrastructure(); #region Hidden System.Object members diff --git a/src/EFCore/Metadata/Builders/KeyBuilder.cs b/src/EFCore/Metadata/Builders/KeyBuilder.cs index 0d6f913fb73..31e92929633 100644 --- a/src/EFCore/Metadata/Builders/KeyBuilder.cs +++ b/src/EFCore/Metadata/Builders/KeyBuilder.cs @@ -18,7 +18,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders /// and it is not designed to be directly constructed in your application code. /// /// - public class KeyBuilder : IInfrastructure + public class KeyBuilder : IInfrastructure { private readonly InternalKeyBuilder _builder; @@ -39,7 +39,7 @@ public KeyBuilder([NotNull] IMutableKey key) /// /// The internal builder being used to configure the key. /// - InternalKeyBuilder IInfrastructure.Instance => _builder; + IConventionKeyBuilder IInfrastructure.Instance => _builder; /// /// The key being configured. @@ -64,7 +64,7 @@ public virtual KeyBuilder HasAnnotation([NotNull] string annotation, [NotNull] o return this; } - private InternalKeyBuilder Builder => this.GetInfrastructure(); + private InternalKeyBuilder Builder => (InternalKeyBuilder)this.GetInfrastructure(); #region Hidden System.Object members diff --git a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs index 10c1fc1b222..b35f18ae957 100644 --- a/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs +++ b/src/EFCore/Metadata/Builders/OwnedNavigationBuilder.cs @@ -15,7 +15,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders /// /// Provides a simple API for configuring a navigation to an owned entity type. /// - public class OwnedNavigationBuilder : IInfrastructure + public class OwnedNavigationBuilder : IInfrastructure { private InternalForeignKeyBuilder _builder; @@ -90,7 +90,7 @@ protected virtual T UpdateBuilder([NotNull] Func configure) /// /// Gets the internal builder being used to configure the owned entity type. /// - InternalEntityTypeBuilder IInfrastructure.Instance => DependentEntityType.Builder; + IConventionEntityTypeBuilder IInfrastructure.Instance => DependentEntityType.Builder; /// /// The foreign key that represents this ownership. diff --git a/src/EFCore/Metadata/Builders/PropertyBuilder.cs b/src/EFCore/Metadata/Builders/PropertyBuilder.cs index 9ea3f26745d..556026a784c 100644 --- a/src/EFCore/Metadata/Builders/PropertyBuilder.cs +++ b/src/EFCore/Metadata/Builders/PropertyBuilder.cs @@ -21,7 +21,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders /// and it is not designed to be directly constructed in your application code. /// /// - public class PropertyBuilder : IInfrastructure + public class PropertyBuilder : IInfrastructure { /// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to @@ -40,7 +40,7 @@ public PropertyBuilder([NotNull] IMutableProperty property) /// /// The internal builder being used to configure the property. /// - InternalPropertyBuilder IInfrastructure.Instance => Builder; + IConventionPropertyBuilder IInfrastructure.Instance => Builder; /// /// The property being configured. diff --git a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs index e308a0bb501..b6c8e198605 100644 --- a/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs +++ b/src/EFCore/Metadata/Builders/ReferenceNavigationBuilder.cs @@ -24,7 +24,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders /// and it is not designed to be directly constructed in your application code. /// /// - public class ReferenceNavigationBuilder : IInfrastructure + public class ReferenceNavigationBuilder : IInfrastructure { /// /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to @@ -119,7 +119,7 @@ public ReferenceNavigationBuilder( /// /// Gets the internal builder being used to configure the relationship. /// - InternalForeignKeyBuilder IInfrastructure.Instance => Builder; + IConventionForeignKeyBuilder IInfrastructure.Instance => Builder; /// /// diff --git a/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs b/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs index 333c0aa97f8..7b85e37c9b8 100644 --- a/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs +++ b/src/EFCore/Metadata/Builders/RelationshipBuilderBase.cs @@ -13,7 +13,7 @@ namespace Microsoft.EntityFrameworkCore.Metadata.Builders /// /// Base class used for configuring a relationship. /// - public abstract class RelationshipBuilderBase : IInfrastructure + public abstract class RelationshipBuilderBase : IInfrastructure { private readonly IReadOnlyList _foreignKeyProperties; private readonly IReadOnlyList _principalKeyProperties; @@ -107,7 +107,7 @@ protected RelationshipBuilderBase( /// /// Gets the internal builder being used to configure this relationship. /// - InternalForeignKeyBuilder IInfrastructure.Instance => Builder; + IConventionForeignKeyBuilder IInfrastructure.Instance => Builder; #region Hidden System.Object members diff --git a/src/EFCore/ModelBuilder.cs b/src/EFCore/ModelBuilder.cs index eaab0fb5b89..f02992ba697 100644 --- a/src/EFCore/ModelBuilder.cs +++ b/src/EFCore/ModelBuilder.cs @@ -26,7 +26,7 @@ namespace Microsoft.EntityFrameworkCore /// model externally and set it on a instance that is passed to the context constructor. /// /// - public class ModelBuilder : IInfrastructure + public class ModelBuilder : IInfrastructure { private readonly InternalModelBuilder _builder; @@ -89,7 +89,7 @@ public virtual ModelBuilder HasAnnotation([NotNull] string annotation, [NotNull] /// application code. /// /// - InternalModelBuilder IInfrastructure.Instance => _builder; + IConventionModelBuilder IInfrastructure.Instance => _builder; /// /// Returns an object that can be used to configure a given entity type in the model. @@ -373,7 +373,7 @@ public virtual ModelBuilder UsePropertyAccessMode(PropertyAccessMode propertyAcc /// The finalized . public virtual IModel FinalizeModel() => Builder.Metadata.FinalizeModel(); - private InternalModelBuilder Builder => this.GetInfrastructure(); + private InternalModelBuilder Builder => (InternalModelBuilder)this.GetInfrastructure(); #region Hidden System.Object members diff --git a/test/EFCore.Relational.Tests/Metadata/Conventions/Internal/RelationalPropertyMappingValidationConventionTest.cs b/test/EFCore.Relational.Tests/Metadata/Conventions/Internal/RelationalPropertyMappingValidationConventionTest.cs index 39d5ebbaa5d..3d187654265 100644 --- a/test/EFCore.Relational.Tests/Metadata/Conventions/Internal/RelationalPropertyMappingValidationConventionTest.cs +++ b/test/EFCore.Relational.Tests/Metadata/Conventions/Internal/RelationalPropertyMappingValidationConventionTest.cs @@ -17,7 +17,7 @@ public class RelationalPropertyMappingValidationConventionTest : PropertyMapping [ConditionalFact] public void Throws_when_added_property_is_not_mapped_to_store() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(NonPrimitiveAsPropertyEntity), ConfigurationSource.Convention); entityTypeBuilder.Property(typeof(Tuple), "LongProperty", ConfigurationSource.Explicit); entityTypeBuilder.Ignore(nameof(NonPrimitiveAsPropertyEntity.Property), ConfigurationSource.Explicit); @@ -31,7 +31,7 @@ public void Throws_when_added_property_is_not_mapped_to_store() [ConditionalFact] public void Throws_when_added_property_is_not_mapped_to_store_even_if_configured_to_use_column_type() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(NonPrimitiveNonNavigationAsPropertyEntity), ConfigurationSource.Convention); entityTypeBuilder.Property(typeof(Tuple), "LongProperty", ConfigurationSource.Explicit) .HasColumnType("some_int_mapping"); diff --git a/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs b/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs index e84a5c13fac..8c52c04a70d 100644 --- a/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs +++ b/test/EFCore.Tests/Infrastructure/ModelValidatorTest.cs @@ -228,7 +228,7 @@ public virtual void Passes_on_shadow_primary_key_created_by_convention_in_depend [ConditionalFact] public virtual void Detects_shadow_key_referenced_by_foreign_key_by_convention() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var dependentEntityBuilder = modelBuilder.Entity(typeof(SampleEntityMinimal), ConfigurationSource.Convention); dependentEntityBuilder.Property(typeof(int), "Id", ConfigurationSource.Convention); dependentEntityBuilder.Ignore(nameof(SampleEntityMinimal.ReferencedEntity), ConfigurationSource.Explicit); @@ -618,7 +618,7 @@ public virtual void Detects_missing_inverse_skip_navigations() [ConditionalFact] public virtual void Passes_on_valid_owned_entity_types() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(SampleEntity), ConfigurationSource.Convention); entityTypeBuilder.PrimaryKey(new[] { nameof(SampleEntity.Id) }, ConfigurationSource.Convention); entityTypeBuilder.Ignore(nameof(SampleEntity.Name), ConfigurationSource.Explicit); @@ -639,7 +639,7 @@ public virtual void Passes_on_valid_owned_entity_types() [ConditionalFact] public virtual void Detects_weak_entity_type_without_defining_navigation() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(SampleEntityMinimal), ConfigurationSource.Convention); entityTypeBuilder.PrimaryKey(new[] { nameof(SampleEntityMinimal.Id) }, ConfigurationSource.Convention); @@ -671,7 +671,7 @@ public virtual void Detects_weak_entity_type_without_defining_navigation() [ConditionalFact] public virtual void Detects_entity_type_with_multiple_ownerships() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(SampleEntity), ConfigurationSource.Convention); entityTypeBuilder.PrimaryKey(new[] { nameof(SampleEntity.Id) }, ConfigurationSource.Convention); @@ -700,7 +700,7 @@ public virtual void Detects_entity_type_with_multiple_ownerships() [ConditionalFact] public virtual void Detects_weak_entity_type_with_non_defining_ownership() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(SampleEntityMinimal), ConfigurationSource.Convention); entityTypeBuilder.PrimaryKey(new[] { nameof(SampleEntityMinimal.Id) }, ConfigurationSource.Convention); @@ -734,7 +734,7 @@ public virtual void Detects_weak_entity_type_with_non_defining_ownership() [ConditionalFact] public virtual void Detects_weak_entity_type_without_ownership() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(SampleEntityMinimal), ConfigurationSource.Convention); entityTypeBuilder.PrimaryKey(new[] { nameof(SampleEntityMinimal.Id) }, ConfigurationSource.Convention); @@ -764,7 +764,7 @@ public virtual void Detects_weak_entity_type_without_ownership() [ConditionalFact] public virtual void Detects_principal_owned_entity_type() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(SampleEntity), ConfigurationSource.Convention); entityTypeBuilder.PrimaryKey(new[] { nameof(SampleEntity.Id) }, ConfigurationSource.Convention); @@ -798,7 +798,7 @@ public virtual void Detects_principal_owned_entity_type() [ConditionalFact] public virtual void Detects_non_owner_navigation_to_owned_entity_type() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(SampleEntity), ConfigurationSource.Convention); entityTypeBuilder.PrimaryKey(new[] { nameof(SampleEntity.Id) }, ConfigurationSource.Convention); @@ -830,7 +830,7 @@ public virtual void Detects_non_owner_navigation_to_owned_entity_type() [ConditionalFact] public virtual void Detects_derived_owned_entity_type() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(B), ConfigurationSource.Convention); entityTypeBuilder.PrimaryKey(new[] { nameof(B.Id) }, ConfigurationSource.Convention); @@ -860,7 +860,7 @@ public virtual void Detects_derived_owned_entity_type() [ConditionalFact] public virtual void Detects_owned_entity_type_without_ownership() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var aBuilder = modelBuilder.Entity(typeof(A), ConfigurationSource.Convention); aBuilder.Ignore(nameof(A.Id), ConfigurationSource.Explicit); aBuilder.Ignore(nameof(A.P0), ConfigurationSource.Explicit); diff --git a/test/EFCore.Tests/Infrastructure/ModelValidatorTestBase.cs b/test/EFCore.Tests/Infrastructure/ModelValidatorTestBase.cs index 7394ec61fc5..9978b43b2bb 100644 --- a/test/EFCore.Tests/Infrastructure/ModelValidatorTestBase.cs +++ b/test/EFCore.Tests/Infrastructure/ModelValidatorTestBase.cs @@ -12,6 +12,7 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Metadata.Conventions; using Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata.Internal; using Microsoft.EntityFrameworkCore.TestUtilities; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; @@ -320,5 +321,8 @@ protected ProviderConventionSetBuilderDependencies CreateDependencies(bool sensi .With(CreateValidationLogger(sensitiveDataLoggingEnabled)); protected virtual TestHelpers TestHelpers => InMemoryTestHelpers.Instance; + + protected virtual InternalModelBuilder CreateConventionlessInternalModelBuilder() + => (InternalModelBuilder)CreateConventionlessModelBuilder().GetInfrastructure(); } } diff --git a/test/EFCore.Tests/Metadata/Conventions/DiscriminatorConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/DiscriminatorConventionTest.cs index 86f2b32891d..6946ba433fd 100644 --- a/test/EFCore.Tests/Metadata/Conventions/DiscriminatorConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/DiscriminatorConventionTest.cs @@ -184,7 +184,8 @@ private class DerivedEntity : Entity private static InternalEntityTypeBuilder CreateInternalEntityTypeBuilder() { - var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder().GetInfrastructure(); + var modelBuilder = (InternalModelBuilder) + InMemoryTestHelpers.Instance.CreateConventionBuilder().GetInfrastructure(); return modelBuilder.Entity(typeof(T), ConfigurationSource.Explicit); } diff --git a/test/EFCore.Tests/Metadata/Conventions/PropertyMappingValidationConventionTest.cs b/test/EFCore.Tests/Metadata/Conventions/PropertyMappingValidationConventionTest.cs index 7c1a6fdab37..b00509668f1 100644 --- a/test/EFCore.Tests/Metadata/Conventions/PropertyMappingValidationConventionTest.cs +++ b/test/EFCore.Tests/Metadata/Conventions/PropertyMappingValidationConventionTest.cs @@ -23,7 +23,7 @@ public class PropertyMappingValidationConventionTest : ModelValidatorTestBase [ConditionalFact] public virtual void Throws_when_added_property_is_not_of_primitive_type() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(NonPrimitiveAsPropertyEntity), ConfigurationSource.Convention); entityTypeBuilder.Property( typeof(NavigationAsProperty), nameof(NonPrimitiveAsPropertyEntity.Property), ConfigurationSource.Convention); @@ -39,7 +39,7 @@ public virtual void Throws_when_added_property_is_not_of_primitive_type() [ConditionalFact] public virtual void Does_not_throw_when_added_shadow_property_by_convention_is_not_of_primitive_type() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(NonPrimitiveAsPropertyEntity), ConfigurationSource.Convention); entityTypeBuilder.Property(typeof(NavigationAsProperty), "ShadowProperty", ConfigurationSource.Convention); entityTypeBuilder.Ignore(nameof(NonPrimitiveAsPropertyEntity.Property), ConfigurationSource.Explicit); @@ -50,7 +50,7 @@ public virtual void Does_not_throw_when_added_shadow_property_by_convention_is_n [ConditionalFact] public virtual void Throws_when_primitive_type_property_is_not_added_or_ignored() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); modelBuilder.Entity(typeof(PrimitivePropertyEntity), ConfigurationSource.Convention); Assert.Equal( @@ -62,7 +62,7 @@ public virtual void Throws_when_primitive_type_property_is_not_added_or_ignored( [ConditionalFact] public virtual void Throws_when_nonprimitive_value_type_property_is_not_added_or_ignored() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); modelBuilder.Entity(typeof(NonPrimitiveValueTypePropertyEntity), ConfigurationSource.Convention); Assert.Equal( @@ -74,7 +74,7 @@ public virtual void Throws_when_nonprimitive_value_type_property_is_not_added_or [ConditionalFact] public virtual void Throws_when_keyless_type_property_is_not_added_or_ignored() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); modelBuilder.Entity(typeof(NonPrimitiveReferenceTypePropertyEntity), ConfigurationSource.Convention); Assert.Equal( @@ -88,7 +88,7 @@ public virtual void Throws_when_keyless_type_property_is_not_added_or_ignored() [ConditionalFact] public virtual void Does_not_throw_when_primitive_type_property_is_added() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(PrimitivePropertyEntity), ConfigurationSource.Convention); entityTypeBuilder.Property(typeof(int), "Property", ConfigurationSource.Convention); @@ -98,7 +98,7 @@ public virtual void Does_not_throw_when_primitive_type_property_is_added() [ConditionalFact] public virtual void Does_not_throw_when_primitive_type_property_is_ignored() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(PrimitivePropertyEntity), ConfigurationSource.Convention); entityTypeBuilder.Ignore("Property", ConfigurationSource.DataAnnotation); @@ -108,7 +108,7 @@ public virtual void Does_not_throw_when_primitive_type_property_is_ignored() [ConditionalFact] public virtual void Throws_when_navigation_is_not_added_or_ignored() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); modelBuilder.Entity(typeof(NavigationEntity), ConfigurationSource.Convention); modelBuilder.Entity(typeof(PrimitivePropertyEntity), ConfigurationSource.Convention); @@ -121,7 +121,7 @@ public virtual void Throws_when_navigation_is_not_added_or_ignored() [ConditionalFact] public virtual void Does_not_throw_when_navigation_is_added() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(NavigationEntity), ConfigurationSource.Convention); var referencedEntityTypeBuilder = modelBuilder.Entity(typeof(PrimitivePropertyEntity), ConfigurationSource.Convention); referencedEntityTypeBuilder.Ignore("Property", ConfigurationSource.DataAnnotation); @@ -133,7 +133,7 @@ public virtual void Does_not_throw_when_navigation_is_added() [ConditionalFact] public virtual void Does_not_throw_when_navigation_is_ignored() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(NavigationEntity), ConfigurationSource.Convention); entityTypeBuilder.Ignore("Navigation", ConfigurationSource.DataAnnotation); @@ -143,7 +143,7 @@ public virtual void Does_not_throw_when_navigation_is_ignored() [ConditionalFact] public virtual void Does_not_throw_when_navigation_target_entity_is_ignored() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); modelBuilder.Entity(typeof(NavigationEntity), ConfigurationSource.Convention); modelBuilder.Ignore(typeof(PrimitivePropertyEntity), ConfigurationSource.Convention); @@ -153,7 +153,7 @@ public virtual void Does_not_throw_when_navigation_target_entity_is_ignored() [ConditionalFact] public virtual void Does_not_throw_when_explicit_navigation_is_not_added() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); var entityTypeBuilder = modelBuilder.Entity(typeof(ExplicitNavigationEntity), ConfigurationSource.Convention); var referencedEntityTypeBuilder = modelBuilder.Entity(typeof(PrimitivePropertyEntity), ConfigurationSource.Convention); referencedEntityTypeBuilder.Ignore("Property", ConfigurationSource.DataAnnotation); @@ -166,7 +166,7 @@ public virtual void Does_not_throw_when_explicit_navigation_is_not_added() [ConditionalFact] public virtual void Throws_when_interface_type_property_is_not_added_or_ignored() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); modelBuilder.Entity(typeof(InterfaceNavigationEntity), ConfigurationSource.Convention); Assert.Equal( @@ -180,7 +180,7 @@ public virtual void Throws_when_interface_type_property_is_not_added_or_ignored( [ConditionalFact] public virtual void Does_not_throw_when_non_candidate_property_is_not_added() { - var modelBuilder = CreateConventionlessModelBuilder().GetInfrastructure(); + var modelBuilder = CreateConventionlessInternalModelBuilder(); modelBuilder.Entity(typeof(NonCandidatePropertyEntity), ConfigurationSource.Convention); CreatePropertyMappingValidator()(modelBuilder.Metadata); diff --git a/test/EFCore.Tests/Metadata/Internal/InternalNavigationBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalNavigationBuilderTest.cs index 8d41325509a..10d03b38843 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalNavigationBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalNavigationBuilderTest.cs @@ -85,7 +85,8 @@ public void Can_only_override_lower_or_equal_source_PropertyAccessMode() private InternalNavigationBuilder CreateInternalNavigationBuilder() { - var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder().GetInfrastructure(); + var modelBuilder = (InternalModelBuilder) + InMemoryTestHelpers.Instance.CreateConventionBuilder().GetInfrastructure(); var orderEntityBuilder = modelBuilder.Entity(typeof(Order), ConfigurationSource.Convention); var detailsEntityBuilder = modelBuilder.Entity(typeof(OrderDetails), ConfigurationSource.Convention); orderEntityBuilder diff --git a/test/EFCore.Tests/Metadata/Internal/InternalPropertyBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalPropertyBuilderTest.cs index b3c3b90e18a..3ec14dafa49 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalPropertyBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalPropertyBuilderTest.cs @@ -458,7 +458,8 @@ public void Can_only_override_existing_AfterSaveBehavior_value_explicitly() private InternalPropertyBuilder CreateInternalPropertyBuilder() { - var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder().GetInfrastructure(); + var modelBuilder = (InternalModelBuilder) + InMemoryTestHelpers.Instance.CreateConventionBuilder().GetInfrastructure(); var entityBuilder = modelBuilder.Entity(typeof(Customer), ConfigurationSource.Convention); return entityBuilder.Property(Customer.NameProperty, ConfigurationSource.Convention); } diff --git a/test/EFCore.Tests/Metadata/Internal/InternalSkipNavigationBuilderTest.cs b/test/EFCore.Tests/Metadata/Internal/InternalSkipNavigationBuilderTest.cs index 11220af6eff..9de0e8758c7 100644 --- a/test/EFCore.Tests/Metadata/Internal/InternalSkipNavigationBuilderTest.cs +++ b/test/EFCore.Tests/Metadata/Internal/InternalSkipNavigationBuilderTest.cs @@ -200,7 +200,8 @@ public void Can_only_override_lower_or_equal_source_Inverse() private InternalSkipNavigationBuilder CreateInternalSkipNavigationBuilder() { - var modelBuilder = InMemoryTestHelpers.Instance.CreateConventionBuilder().GetInfrastructure(); + var modelBuilder = (InternalModelBuilder) + InMemoryTestHelpers.Instance.CreateConventionBuilder().GetInfrastructure(); return modelBuilder.Entity(typeof(Order), ConfigurationSource.Convention) .HasSkipNavigation(