2012-05-24 2 views
0

J'ai un objet POCO (EF Codefirst)EF Codefirst obtenir la configuration de POCO

public class ExampleTestOfDataTypes 
{ 
     public string StringProp { get; set; } 
} 

que moi sa classe de configuration:

public class ExampleTestOfDataTypesConfig : EntityTypeConfiguration<ExampleTestOfDataTypes> 
    { 
     public ExampleTestOfDataTypesConfig() 
     { 
      ToTable("CustomTableName"); 
      this.Property(m => m.StringProp).HasColumnName("CustomString"); 
     } 
    } 

Comment puis-je obtenir la nouvelle Tablename et nouvelle StringProp nom quand je l'ai changé dans le fichier de configuration (étant donné que j'ai ExampleTestOfDataTypesConfig et ExampleTestOfDataTypes)

Merci

+0

Remplacez la méthode OnModelCreating dans votre classe de contexte, puis ajoutez-la 'modelBuilder.Configurations.Add (new ExampleTestOfDataTypesConfig());' – VahidN

+0

Pas exactement ce que je voulais. Je n'ai pas besoin d'enregistrer la classe de configuration, j'ai besoin de lire ses propriétés et paramètres. –

+0

vous devez l'enregistrer. sinon EF ne l'utilisera pas. – VahidN

Répondre

0

Si vous voulez savoir ce qui est dans le fichier de mappage, essayez cette méthode:

void ExportMappings(DbContext context, string edmxFile) 
{ 
    var settings = new XmlWriterSettings { Indent = true }; 
    using (XmlWriter writer = XmlWriter.Create(edmxFile, settings)) 
    { 
     System.Data.Entity.Infrastructure.EdmxWriter.WriteEdmx(context, writer); 
    } 
} 

Il exportera tous vos paramètres personnalisés dans un fichier xml. Il est préférable de le nommer .edmx et ensuite VS.NET sera capable de l'ouvrir automatiquement.

Questions connexes