C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■95881 / )  コードファーストで多対多のテーブルをカスタマイズしたい
□投稿者/ じぇい (1回)-(2020/10/06(Tue) 17:47:00)

分類:[.NET 全般] 

お世話になります。

VisualStudio2019でASP.NET(C#) MVC5+EntityFramework6のWEBアプリを作成しています。
DBはSQLServer2012です。

コードファーストで以下のようなモデルを定義しました。

■Bookモデル
 public int Id { get; set; }
 [Index("IX_BookCode", 1, IsUnique = true)]
 public int BookCode { get; set; }
 public string BookName { get; set; }

 [ForeignKey("BookCode")]
 public virtual ICollection<BookGenre> BookGenres { get; set; }

■BookGenreモデル(中間テーブル)
 public int Id { get; set; }
 public int BookCode { get; set; }
 public int GenreId { get; set; }
 public int SortNo { get; set; }

 [ForeignKey("BookCode")]
 public virtual Book Book { get; set; }
 public virtual Genre Genres { get; set; }


■Genreモデル
 public int Id { get; set; }
 public string GenreName { get; set; }

 public virtual ICollection<BookGenre> BookGenres { get; set; }


書籍(Book)に複数のジャンルをつけたいと思っています。
表示時にはジャンルの表示順を指定したく、BookGenreモデルにはSortNoを定義しています。
上記定義で作成されたテーブルを見るとBookGenre上のBookへのFKはBook.Idに紐づいてしまっています。
Book.BookCodeに紐づけるにはどうしたら良いのでしょうか?
ちなみに出来たテーブルに対して手動での修正は可能でした。

宜しくお願い致します。





返信 編集キー/


管理者用

- Child Tree -