15
EF Code First注文のためのジョインテーブルの追加列
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<Image> Images { get; set; }
}
public class Image
{
public int Id { get; set; }
public string Filename { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Student>()
.HasMany(i => i.Images)
.WithMany(s => s.Students)
.Map(m => m.ToTable("StudentImages"));
}
StudentImagesを時系列で並べ替えるために追加の列を追加したいと思います。
どこに関連コードを挿入すればよいですか?
うーん、これは私が私が私が持っているものに保つことができますが、私は疑問に思うなどStudent.Imagesへのアクセスを失うつもり意味します別のStudentImagesOrderエンティティを作成し、最初にこれを作成してこの情報をそこに保存させますか? –
1年後に同じ問題が発生し、これを検索する際にGoogleのトップヒットの1つになりました。余分な列を追加すると、多くの関係が緩んでいるという現在の実装がまだ残っているのだろうかと思います。 (この場合student.images?) –
@ s093294:はい状況は同じで、変更されません。ジャンクション・テーブルに新しい列を追加する場合は、新しい列にアクセスするために多対多リレーションを直接指示するのではなく、新しいエンティティが必要です。 –