public void Configure_should_configure_and_order_keys_when_keys_and_order_specified() { var entityType = new EntityType { Name = "E" }; var property = EdmProperty.Primitive("P2", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)); entityType.AddMember(property); var property1 = EdmProperty.Primitive("P1", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)); entityType.AddMember(property1); var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); var mockPropertyInfo2 = new MockPropertyInfo(typeof(int), "P2"); entityTypeConfiguration.Key(mockPropertyInfo2); entityTypeConfiguration.Property(new PropertyPath(mockPropertyInfo2)).ColumnOrder = 1; (entityType.GetDeclaredPrimitiveProperties().SingleOrDefault(p => p.Name == "P2")).SetClrPropertyInfo(mockPropertyInfo2); var mockPropertyInfo1 = new MockPropertyInfo(typeof(int), "P1"); entityTypeConfiguration.Key(mockPropertyInfo1); entityTypeConfiguration.Property(new PropertyPath(mockPropertyInfo1)).ColumnOrder = 0; (entityType.GetDeclaredPrimitiveProperties().SingleOrDefault(p => p.Name == "P1")).SetClrPropertyInfo(mockPropertyInfo1); entityTypeConfiguration.Configure(entityType, new EdmModel()); Assert.Equal(2, entityType.DeclaredKeyProperties.Count); Assert.Equal("P1", entityType.DeclaredKeyProperties.First().Name); }
public void Configure_should_set_configuration() { var entityType = new EdmEntityType { Name = "E" }; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); entityTypeConfiguration.Configure(entityType, new EdmModel()); Assert.Same(entityTypeConfiguration, entityType.GetConfiguration()); }
public void Configure_should_throw_when_property_not_found() { var entityType = new EdmEntityType { Name = "E" }; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); var mockPropertyConfiguration = new Mock<PrimitivePropertyConfiguration>(); entityTypeConfiguration.Property(new PropertyPath(new MockPropertyInfo()), () => mockPropertyConfiguration.Object); Assert.Equal(Strings.PropertyNotFound(("P"), "E"), Assert.Throws<InvalidOperationException>(() => entityTypeConfiguration.Configure(entityType, new EdmModel())).Message); }
private void VerifyKeyProperty(EntityTypeConfiguration configuration, string expectedKeyName, params PropertyInfo[] props) { var entityType = CreateEntityTypeWithProperties(props); configuration.Configure(entityType, new EdmModel()); Assert.Equal(1, entityType.DeclaredKeyProperties.Count); Assert.Equal(expectedKeyName, entityType.DeclaredKeyProperties.Single().Name); }
public void Configure_should_set_configuration() { var entityType = new EntityType { Name = "E" }; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); entityTypeConfiguration.Configure(entityType, new EdmModel()); Assert.Same(entityTypeConfiguration, entityType.GetConfiguration()); }
public void Configure_should_configure_entity_set_name() { var model = new EdmModel().Initialize(); var entityType = new EdmEntityType { Name = "E" }; var entitySet = model.AddEntitySet("ESet", entityType); var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)) { EntitySetName = "MySet" }; entityTypeConfiguration.Configure(entityType, model); Assert.Equal("MySet", entitySet.Name); Assert.Same(entityTypeConfiguration, entitySet.GetConfiguration()); }
public static IServiceCollection AddCustomDbContext(this IServiceCollection services, IConfiguration configuration) { EntityTypeConfiguration.Configure(); EnumerationTypeConfiguration.Configure(); SnackTypeTypeConfiguration.Configure(); SnackMachineTypeConfiguration.Configure(); services.AddScoped(serviceProvider => { var connectionString = configuration.GetConnectionString("DefaultConnection"); return(new AppDbContext(connectionString, serviceProvider.GetService <IMediator>())); }); return(services); }
public void Configure_should_throw_when_key_property_not_found() { var entityType = new EntityType { Name = "E" }; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); var mockPropertyInfo = new MockPropertyInfo(typeof(int), "Id"); entityTypeConfiguration.Key(mockPropertyInfo); Assert.Equal( Strings.KeyPropertyNotFound(("Id"), "E"), Assert.Throws <InvalidOperationException>(() => entityTypeConfiguration.Configure(entityType, new EdmModel())).Message); }
public void Configure_should_configure_properties() { var entityType = new EdmEntityType { Name = "E" }; var property = entityType.AddPrimitiveProperty("P"); property.PropertyType.EdmType = EdmPrimitiveType.Int32; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); var mockPropertyConfiguration = new Mock<PrimitivePropertyConfiguration>(); var mockPropertyInfo = new MockPropertyInfo(); property.SetClrPropertyInfo(mockPropertyInfo); entityTypeConfiguration.Property(new PropertyPath(mockPropertyInfo), () => mockPropertyConfiguration.Object); entityTypeConfiguration.Configure(entityType, new EdmModel()); mockPropertyConfiguration.Verify(p => p.Configure(property)); }
public void Configure_should_throw_when_property_not_found() { var entityType = new EntityType { Name = "E" }; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); var mockPropertyConfiguration = new Mock <PrimitivePropertyConfiguration>(); entityTypeConfiguration.Property(new PropertyPath(new MockPropertyInfo()), () => mockPropertyConfiguration.Object); Assert.Equal( Strings.PropertyNotFound(("P"), "E"), Assert.Throws <InvalidOperationException>(() => entityTypeConfiguration.Configure(entityType, new EdmModel())).Message); }
public void Configure_should_configure_entity_set_name() { var model = new EdmModel().Initialize(); var entityType = new EntityType { Name = "E" }; var entitySet = model.AddEntitySet("ESet", entityType); var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)) { EntitySetName = "MySet" }; entityTypeConfiguration.Configure(entityType, model); Assert.Equal("MySet", entitySet.Name); Assert.Same(entityTypeConfiguration, entitySet.GetConfiguration()); }
public void Configure_should_throw_when_key_properties_and_not_root_type() { var entityType = new EntityType { Name = "E", BaseType = new EntityType() }; var type = typeof(string); var tempQualifier = entityType.BaseType; tempQualifier.Annotations.SetClrType(type); var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); entityTypeConfiguration.Key(new MockPropertyInfo(typeof(int), "Id")); Assert.Equal( Strings.KeyRegisteredOnDerivedType(typeof(object), typeof(string)), Assert.Throws <InvalidOperationException>(() => entityTypeConfiguration.Configure(entityType, new EdmModel())).Message); }
public void Configure_should_configure_properties() { var entityType = new EntityType { Name = "E" }; var property1 = EdmProperty.Primitive("P", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)); entityType.AddMember(property1); var property = property1; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); var mockPropertyConfiguration = new Mock<PrimitivePropertyConfiguration>(); var mockPropertyInfo = new MockPropertyInfo(); property.SetClrPropertyInfo(mockPropertyInfo); entityTypeConfiguration.Property(new PropertyPath(mockPropertyInfo), () => mockPropertyConfiguration.Object); entityTypeConfiguration.Configure(entityType, new EdmModel()); mockPropertyConfiguration.Verify(p => p.Configure(property)); }
public void Configure_should_configure_properties() { var entityType = new EntityType { Name = "E" }; var property1 = EdmProperty.Primitive("P", PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)); entityType.AddMember(property1); var property = property1; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); var mockPropertyConfiguration = new Mock <PrimitivePropertyConfiguration>(); var mockPropertyInfo = new MockPropertyInfo(); property.SetClrPropertyInfo(mockPropertyInfo); entityTypeConfiguration.Property(new PropertyPath(mockPropertyInfo), () => mockPropertyConfiguration.Object); entityTypeConfiguration.Configure(entityType, new EdmModel()); mockPropertyConfiguration.Verify(p => p.Configure(property)); }
public void Configure_should_throw_when_key_properties_and_not_root_type() { var entityType = new EntityType { Name = "E", BaseType = new EntityType() }; var type = typeof(string); var tempQualifier = entityType.BaseType; tempQualifier.Annotations.SetClrType(type); var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); entityTypeConfiguration.Key(new MockPropertyInfo(typeof(int), "Id")); Assert.Equal( Strings.KeyRegisteredOnDerivedType(typeof(object), typeof(string)), Assert.Throws<InvalidOperationException>(() => entityTypeConfiguration.Configure(entityType, new EdmModel())).Message); }
public void Configure_should_throw_when_key_property_not_found() { var entityType = new EntityType { Name = "E" }; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); var mockPropertyInfo = new MockPropertyInfo(typeof(int), "Id"); entityTypeConfiguration.Key(mockPropertyInfo); Assert.Equal( Strings.KeyPropertyNotFound(("Id"), "E"), Assert.Throws<InvalidOperationException>(() => entityTypeConfiguration.Configure(entityType, new EdmModel())).Message); }
public void Configure_should_configure_and_order_keys_when_keys_and_order_specified() { var entityType = new EdmEntityType { Name = "E" }; entityType.AddPrimitiveProperty("P2").PropertyType.EdmType = EdmPrimitiveType.Int32; entityType.AddPrimitiveProperty("P1").PropertyType.EdmType = EdmPrimitiveType.Int32; var entityTypeConfiguration = new EntityTypeConfiguration(typeof(object)); var mockPropertyInfo2 = new MockPropertyInfo(typeof(int), "P2"); entityTypeConfiguration.Key(mockPropertyInfo2); entityTypeConfiguration.Property(new PropertyPath(mockPropertyInfo2)).ColumnOrder = 1; entityType.GetDeclaredPrimitiveProperty("P2").SetClrPropertyInfo(mockPropertyInfo2); var mockPropertyInfo1 = new MockPropertyInfo(typeof(int), "P1"); entityTypeConfiguration.Key(mockPropertyInfo1); entityTypeConfiguration.Property(new PropertyPath(mockPropertyInfo1)).ColumnOrder = 0; entityType.GetDeclaredPrimitiveProperty("P1").SetClrPropertyInfo(mockPropertyInfo1); entityTypeConfiguration.Configure(entityType, new EdmModel()); Assert.Equal(2, entityType.DeclaredKeyProperties.Count); Assert.Equal("P1", entityType.DeclaredKeyProperties.First().Name); }
public static void AddConfiguration <TEntity, TKey>(this ModelBuilder modelBuilder, EntityTypeConfiguration <TEntity, TKey> configuration) where TEntity : EntityBase <TKey> { configuration.Configure(modelBuilder.Entity <TEntity>()); }