我的模型中有以下类 - 但我无法让它以我期望的方式创建表。
public class Task
{
public int Id { get; set; }
public string Description { get; set; }
private readonly BindingList<Dependancy> _dependancies = new BindingList<Dependancy>();
public virtual BindingList<Dependancy> Dependancies
{
get { return _dependancies; }
}
}
public class Dependancy
{
public int Id { get; set; }
[Required]
public virtual Task Task { get; set; }
[Required]
public virtual Task NeededTask { get; set; }
}
我希望依赖表只包含以下字段;
Id,
Task_Id,
NeededTask_Id
但是生成的包含一个额外的 Task_Id1 字段
我在上下文类中尝试了以下覆盖;
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Dependancy>().HasRequired( p=>p.Task ).WithMany().WillCascadeOnDelete(false);
modelBuilder.Entity<Task>().HasMany<Dependancy>(c => c.Dependancies).WithOptional().WillCascadeOnDelete(false);
}
但仍会创建不需要的字段。