protected void RegistraDbMapsDinamicamente(DbModelBuilder modelBuilder) { var registerMethod = modelBuilder.Configurations.GetType().GetMethods().Single(m => m.Name == "Add" && m.GetGenericArguments().Any(a => a.Name == "TEntityType")); //// recupera todos os DbMappings que heram de EntityTypeConfiguration. var dbMapTypes = from t in Assembly.GetExecutingAssembly().GetTypes() where t.BaseType.IsGenericType && t.BaseType.GetGenericTypeDefinition().IsAssignableFrom(typeof(EntityTypeConfiguration<>)) select t; // registra os dbMaps encontrados. foreach(var dbMapType in dbMapTypes) { var entityType = dbMapType.BaseType.GenericTypeArguments.Single(); var typeConfig = Activator.CreateInstance(dbMapType); registerMethod.MakeGenericMethod(new [] {entityType }).Invoke(modelBuilder.Configurations, new[] { typeConfig }); } }
0100101001100101011100110111010101110011010000110111001001101001011100110111010001101111
quarta-feira, 6 de novembro de 2013
Entity Framework : registrando todos os EntityTypeConfigurations
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário