Я пытаюсь написать надстройку для 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. Они вообще доступны?