Я бы использовал готовую функциональность, если бы не имел дело с очень большим количеством таблиц.Временные затраты на то, чтобы заставить шаблоны T4 выполнять именно то, что вам нужно, могут не стоить этого.
Для небольшой базы данных я бы остановился на конструкторе, если бы сначала разрабатывал базу данных .
В качестве альтернативы, вы можете сначала набрать код , чтобы получить чистую модель, как вы хотите, указать ее в существующей базе данных и обработать сопоставления в коде для каждого объекта в модели:
public class CustomerConfiguration : EntityTypeConfiguration<Customer>
{
public CustomerConfiguration()
{
Property(t => t.CustomerId).HasColumnName("ABC_Customer_Id");
...
}
}
И затем применить ваши пользовательские конфигурации (то есть сопоставления) к модели, одновременно изменяя сопоставления таблиц:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new CustomerConfiguration());
modelBuilder.Entity<Customer>().ToTable("ABC_Customer");
}
Чем больше я работаю с ней, тем больше мне нравится кодпервый.Новая книга Джулии Лерман Программирование Entity Framework: Code First замечательно!