Как мы можем изменить соглашение об именовании внешних ключей в БД в коде EF First CTP5?
Я использую Entity framework Code First CTP5 и пытаюсь найти способ добавить соглашение, чтобы изменить способ генерации имен внешних ключей. Вот пример:
public class Lead
{
public int Id {get; set;}
// A lot of other fields
public virtual User AssignedTo { get; set; }
}
public class User
{
public int Id {get; set;}
}
Свинец может быть связан с пользователем. Поле, генерируемое в БД для присвоенных в таблице лидов, называется UserId.
Моя модель полностью независима от entity framework. Поэтому я не хочу использовать атрибуты из EF. Я хотел бы использовать соглашения, если это возможно, назовите поле Например, AssignedToUserId.1 ответ:
Я не уверен, что это возможно с подключаемыми соглашениями, но вы можете использовать fluent API для достижения этого:
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Lead>() .HasRequired(l => l.AssignedTo) .WithMany() .IsIndependent() .Map(c => c.MapKey(u => u.Id, "AssignedToUserId")); }