Есть ли способ просмотреть сопоставления столбцов Entity Framework Code First во время выполнения?

Я пытаюсь написать надстройку для Entity Framework Code First, и мне нужен способ получить конфигурацию столбцов модели во время выполнения. Например, это настройка кода на OnModelCreating с помощью DbModelBuilder :

builder.Entity<NwdEmployee>()
    .Property(n => n.ReportsToID).HasColumnName("ReportsTo");

После этого EntityFramework знает, что имя моего свойства отличается от имени столбца в таблице, но как мне узнать, что строка «ReportsTo» относится к самому ReportsToID во время выполнения? В идеале я пытаюсь написать такой метод, как следующий:

public string GetMappedColumnName<TFrom>(DbContext context, 
    Func<TFrom, object> selector);

Который будет использоваться как:

string mappedColumnName = GetMappedColumnName<NwdEmployee>(context, 
    x => x.ReportsToID);

Я просто не знаю, где найти сопоставленные имена столбцов в DbContext. Они вообще доступны?

5
задан djdd87 28 October 2011 в 09:42
поделиться