我正在使用实体框架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;}
}
潜在客户可以与用户相关联。在Leads表的DB for AssignedTo中生成的字段称为UserId。
我的模型完全独立于实体框架。所以我不想使用EF的属性。我想在可能的情况下使用约定将字段命名为AssignedToUserId。
答案 0 :(得分:2)
我不确定这是否可以使用可插入的约定,但您可以使用流畅的API来实现它:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Lead>()
.HasRequired(l => l.AssignedTo)
.WithMany()
.IsIndependent()
.Map(c => c.MapKey(u => u.Id, "AssignedToUserId"));
}