2012-05-24 2 views
0

У меня есть объект POCO (EF Codefirst)EF Codefirst получить конфигурацию Poco в

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

чем у меня есть свой класс конфигурации:

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

Как я могу получить новый TABLENAME и новый StringProp имя, когда я изменил его в конфигурационном файле (с учетом я есть ExampleTestOfDataTypesConfig и ExampleTestOfDataTypes)

Благодаря

+0

Переопределить метод OnModelCreating в вашем контексте, а затем добавить его 'modelBuilder.Configurations.Add (new ExampleTestOfDataTypesConfig());' – VahidN

+0

Не совсем то, что я хотел. Мне не нужно регистрировать класс конфигурации, я должен прочитать его свойства и настройки. –

+0

необходимо авторизоваться. иначе EF не будет использовать его. – VahidN

ответ

0

Если вы хотите знать, что внутри файла отображений, попробуйте этот метод:

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); 
    } 
} 

Это будет экспортировать все пользовательские настройки в файл XML. Лучше назвать его .edmx, а затем VS.NET сможет открыть его автоматически.

Смежные вопросы