/// <summary> /// Adds an <see cref="EntityTypeConfiguration" /> to the <see cref="DbModelBuilder" />. /// Only one <see cref="EntityTypeConfiguration" /> can be added for each type in a model. /// </summary> /// <typeparam name="TEntityType"> The entity type being configured. </typeparam> /// <param name="entityTypeConfiguration"> The entity type configuration to be added. </param> /// <returns> The same ConfigurationRegistrar instance so that multiple calls can be chained. </returns> public virtual ConfigurationRegistrar Add <TEntityType>( EntityTypeConfiguration <TEntityType> entityTypeConfiguration) where TEntityType : class { Check.NotNull(entityTypeConfiguration, "entityTypeConfiguration"); Debug.Assert(entityTypeConfiguration.Configuration != null); _modelConfiguration.Add((EntityTypeConfiguration)entityTypeConfiguration.Configuration); return(this); }
public virtual void AddConfigurationTypesToModel(IEnumerable<Type> types, ModelConfiguration modelConfiguration) { DebugCheck.NotNull(types); DebugCheck.NotNull(modelConfiguration); foreach (var type in types) { if (_filter.IsEntityTypeConfiguration(type)) { modelConfiguration.Add(_activator.Activate<EntityTypeConfiguration>(type)); } else if (_filter.IsComplexTypeConfiguration(type)) { modelConfiguration.Add(_activator.Activate<ComplexTypeConfiguration>(type)); } } }
public virtual void AddConfigurationTypesToModel(IEnumerable <Type> types, ModelConfiguration modelConfiguration) { DebugCheck.NotNull(types); DebugCheck.NotNull(modelConfiguration); foreach (var type in types) { if (_filter.IsEntityTypeConfiguration(type)) { modelConfiguration.Add(_activator.Activate <EntityTypeConfiguration>(type)); } else if (_filter.IsComplexTypeConfiguration(type)) { modelConfiguration.Add(_activator.Activate <ComplexTypeConfiguration>(type)); } } }
public void IsComplexType_should_return_true_when_type_is_complex() { var modelConfiguration = new ModelConfiguration(); modelConfiguration.Add(new Mock<ComplexTypeConfiguration>(typeof(object)).Object); Assert.True(modelConfiguration.IsComplexType(typeof(object))); }
public void GetStructuralTypeConfiguration_should_return_registered_complex_type_configuration() { var modelConfiguration = new ModelConfiguration(); var complexTypeConfiguration = new Mock<ComplexTypeConfiguration>(typeof(object)).Object; modelConfiguration.Add(complexTypeConfiguration); Assert.Same(complexTypeConfiguration, modelConfiguration.GetStructuralTypeConfiguration(typeof(object))); }
public void GetStructuralTypeConfiguration_should_return_registered_entity_configuration() { var modelConfiguration = new ModelConfiguration(); var entityTypeConfiguration = new Mock<EntityTypeConfiguration>(typeof(object)).Object; modelConfiguration.Add(entityTypeConfiguration); Assert.Same(entityTypeConfiguration, modelConfiguration.GetStructuralTypeConfiguration(typeof(object))); }
public void ComplexType_should_throw_when_configuration_is_not_for_complex_type() { var modelConfiguration = new ModelConfiguration(); modelConfiguration.Add(new Mock<EntityTypeConfiguration>(typeof(object)).Object); Assert.Equal( Strings.ComplexTypeConfigurationMismatch(typeof(object).Name), Assert.Throws<InvalidOperationException>(() => modelConfiguration.ComplexType(typeof(object))).Message); }
public void Can_add_and_get_complex_type_configuration() { var modelConfiguration = new ModelConfiguration(); var complexTypeConfiguration = new Mock<ComplexTypeConfiguration>(typeof(object)).Object; modelConfiguration.Add(complexTypeConfiguration); Assert.Same(complexTypeConfiguration, modelConfiguration.ComplexType(typeof(object))); }
public void Can_add_and_get_entity_configuration() { var modelConfiguration = new ModelConfiguration(); var entityTypeConfiguration = new Mock<EntityTypeConfiguration>(typeof(object)).Object; modelConfiguration.Add(entityTypeConfiguration); Assert.Same(entityTypeConfiguration, modelConfiguration.Entity(typeof(object))); }
public void Adding_complex_type_and_entity_configurations_should_throw() { var modelConfiguration = new ModelConfiguration(); var complexTypeConfiguration = new Mock<ComplexTypeConfiguration>(typeof(object)).Object; var entityTypeConfiguration = new Mock<EntityTypeConfiguration>(typeof(object)).Object; modelConfiguration.Add(complexTypeConfiguration); Assert.Equal( Strings.DuplicateStructuralTypeConfiguration(typeof(object)), Assert.Throws<InvalidOperationException>(() => modelConfiguration.Add(entityTypeConfiguration)).Message); }
public void Configure_should_configure_active_entities_and_complex_types() { var mockEntityType = new MockType(); var mockComplexType = new MockType(); var model = new EdmModel(DataSpace.CSpace); var entityType = model.AddEntityType("E"); entityType.GetMetadataProperties().SetClrType(mockEntityType); var complexType = model.AddComplexType("C"); complexType.GetMetadataProperties().SetClrType(mockComplexType); var modelConfiguration = new ModelConfiguration(); var mockComplexTypeConfiguration = new Mock<ComplexTypeConfiguration>(mockComplexType.Object); var mockEntityTypeConfiguration = new Mock<EntityTypeConfiguration>(mockEntityType.Object); modelConfiguration.Add(mockComplexTypeConfiguration.Object); modelConfiguration.Add(mockEntityTypeConfiguration.Object); modelConfiguration.Configure(model); mockComplexTypeConfiguration.Verify(c => c.Configure(complexType)); mockEntityTypeConfiguration.Verify(c => c.Configure(entityType, model)); }