モデルに次のクラスがありますが、期待どおりにテーブルを作成できません。
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);
}
しかし、不要なフィールドはまだ作成されています。