public void Configure_evaluates_preconditions() { var conventions = new ConventionsConfiguration(); var properties = new PropertyConventionConfiguration(conventions); var ex = Assert.Throws<ArgumentNullException>( () => properties.Configure(null)); Assert.Equal("propertyConfigurationAction", ex.ParamName); }
public void Having_evaluates_preconditions() { var conventions = new ConventionsConfiguration(); var properties = new PropertyConventionConfiguration(conventions); var ex = Assert.Throws<ArgumentNullException>( () => properties.Having<object>(null)); Assert.Equal("capturingPredicate", ex.ParamName); }
public void Configure_evaluates_preconditions() { var conventions = new ConventionsConfiguration(); var entities = new PropertyConventionConfiguration(conventions); var ex = Assert.Throws <ArgumentNullException>( () => entities.Having <object>(p => null).Configure(null)); Assert.Equal("propertyConfigurationAction", ex.ParamName); }
public void Where_configures_predicates() { Func<PropertyInfo, bool> predicate1 = p => true; Func<PropertyInfo, bool> predicate2 = p => false; var conventions = new ConventionsConfiguration(); var properties = new PropertyConventionConfiguration(conventions); var config = properties .Where(predicate1) .Where(predicate2); Assert.NotNull(config); Assert.Same(conventions, config.ConventionsConfiguration); Assert.Equal(2, config.Predicates.Count()); Assert.Same(predicate2, config.Predicates.Last()); }
public PropertyConventionConfiguration Properties <T>() { if (!typeof(T).IsValidEdmScalarType()) { throw Error.ModelBuilder_PropertyFilterTypeMustBePrimitive(typeof(T)); } var config = new PropertyConventionConfiguration(_conventionsConfiguration); return(config.Where( p => { p.PropertyType.TryUnwrapNullableType(out var propertyType); return propertyType == typeof(T); })); }
public void Configure_adds_convention() { Func<PropertyInfo, bool> predicate = p => true; Action<LightweightPropertyConfiguration> configurationAction = c => { }; var conventions = new ConventionsConfiguration(); var properties = new PropertyConventionConfiguration(conventions); properties .Where(predicate) .Configure(configurationAction); Assert.Equal(36, conventions.Conventions.Count()); var convention = (PropertyConvention)conventions.Conventions.Last(); Assert.Equal(1, convention.Predicates.Count()); Assert.Same(predicate, convention.Predicates.Single()); Assert.Same(configurationAction, convention.PropertyConfigurationAction); }
public void Configure_adds_convention() { Func<PropertyInfo, bool> predicate = p => true; Func<PropertyInfo, object> capturingPredicate = p => null; Action<ConventionPrimitivePropertyConfiguration, object> configurationAction = (c, o) => { }; var conventions = new ConventionsConfiguration(); var properties = new PropertyConventionConfiguration(conventions); properties .Where(predicate) .Having(capturingPredicate) .Configure(configurationAction); Assert.Equal(16, conventions.ConfigurationConventions.Count()); var convention = (PropertyConventionWithHaving<object>)conventions.ConfigurationConventions.Last(); Assert.Equal(1, convention.Predicates.Count()); Assert.Same(predicate, convention.Predicates.Single()); Assert.Same(capturingPredicate, convention.CapturingPredicate); Assert.Same(configurationAction, convention.PropertyConfigurationAction); }
public void Configure_adds_convention() { Func <PropertyInfo, bool> predicate = p => true; Func <PropertyInfo, object> capturingPredicate = p => null; Action <LightweightPropertyConfiguration, object> configurationAction = (c, o) => { }; var conventions = new ConventionsConfiguration(); var properties = new PropertyConventionConfiguration(conventions); properties .Where(predicate) .Having(capturingPredicate) .Configure(configurationAction); Assert.Equal(36, conventions.Conventions.Count()); var convention = (PropertyConventionWithHaving <object>)conventions.Conventions.Last(); Assert.Equal(1, convention.Predicates.Count()); Assert.Same(predicate, convention.Predicates.Single()); Assert.Same(capturingPredicate, convention.CapturingPredicate); Assert.Same(configurationAction, convention.PropertyConfigurationAction); }
public void Having_configures_capturing_predicate() { var conventions = new ConventionsConfiguration(); var properties = new PropertyConventionConfiguration(conventions); Func<PropertyInfo, bool> predicate = p => true; Func<PropertyInfo, object> capturingPredicate = p => null; var config = properties .Where(predicate) .Having(capturingPredicate); Assert.NotNull(config); Assert.Same(conventions, config.ConventionsConfiguration); Assert.Equal(1, config.Predicates.Count()); Assert.Same(predicate, config.Predicates.Single()); Assert.Same(capturingPredicate, config.CapturingPredicate); }
//protected override bool ShouldValidateEntity(DbEntityEntry entityEntry) //{ // return base.ShouldValidateEntity(entityEntry); //} protected override void OnModelCreating(DbModelBuilder modelBuilder) { //modelBuilder.Entity<BlogPost>().ToTable("tbl_blog_post"); var typesToRegister = Assembly.GetExecutingAssembly().GetTypes() .Where(type => !String.IsNullOrEmpty(type.Namespace)) .Where(type => type.BaseType != null && type.BaseType.IsGenericType && type.BaseType.GetGenericTypeDefinition() == typeof(EntityTypeConfiguration <>)); foreach (var type in typesToRegister) { dynamic configInstance = Activator.CreateInstance(type); modelBuilder.Configurations.Add(configInstance); } //modelBuilder.ComplexType<BillingAddress>() // .Property(p => p.CreditCardNumber) // .HasColumnName("CardNumber"); //modelBuilder.ComplexType<Address>() // .Property(p => p.StreetAddress) // .HasColumnName("StreetAddress"); //var count = this.Database.SqlQuery<int>("SELECT COUNT(*) FROM Customers"); //These are all to find out the EF objects ConfigurationRegistrar registrar = modelBuilder.Configurations; ConventionsConfiguration conventions = modelBuilder.Conventions; DbModel dbModel = modelBuilder.Build(this.Database.Connection); EdmModel edmModel = dbModel.ConceptualModel; EntityContainerMapping containerMapping = dbModel.ConceptualToStoreMapping; DbProviderInfo dbProviderInfo = dbModel.ProviderInfo; DbProviderManifest dbProviderManifest = dbModel.ProviderManifest; EdmModel dbModelStoreModel = dbModel.StoreModel; DbCompiledModel dbCompiledModel = dbModel.Compile(); PropertyConventionConfiguration propertyConvention = modelBuilder.Properties(); TypeConventionConfiguration typeConvention = modelBuilder.Types(); //modelBuilder.RegisterEntityType(); //registrar.AddFromAssembly() //conventions.AddFromAssembly(); //propertyConvention // .Where(info => info.GetType() is typeof(string)) // .Configure(cfg => cfg.HasMaxLength(200)); //typeConvention.Configure(cfg => cfg.MapToStoredProcedures()); //All Configurations //System.Data.Entity.ModelConfiguration.Configuration //All Conventions //System.Data.Entity.ModelConfiguration.Conventions //modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>(); base.OnModelCreating(modelBuilder); }