Я создал приложение EF6, указывающее на базу данных mysql. Я создал глобальное правило для установки имени таблицы на основе имени класса сущности, чтобы сущность с именем UserDocument автоматически указывала на таблицу с именем user_document. Я использовал следующий код
public class ComplianceDB : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Types().Configure(c => c.ToTable(GetTableName(c.ClrType)));
}
private string GetTableName(Type type)
{
return Regex
.Replace(type.Name, ".[A-Z]", m => m.Value[0] + "_" + m.Value[1])
.ToLower();
}
Он работает в EntityFramework 6, но теперь мне приходится переходить на EF5 из-за ограничений хостинга (FullTrust), и когда я изменил ссылку на EF5, я получил сообщение:
'DbModelBuilder' does not contain a definition for 'Types' and no accessible extension method 'Types' accepting a first argument of type 'DbModelBuilder' could be found
Как установить имя таблицы для всех сущностей в EF5?