2 つのテーブル間に多対多の関係を作成しました
1 つのテーブルにデータを追加するたびに、DbContext によって自動作成されたテーブル MoviesHashTags は空のままになります。
この 2 つのテーブルの関係が理解できないかもしれませんが、1 つのテーブルにデータを追加する特定の方法はありますか?それは MoviesHashTags テーブルにも追加されますか?
例:
HashTags テーブルに新しい HashTag を追加しています: Add()とSaveChanges( ) を 呼び出すと、このハッシュタグにはムービー IDが含まれます。これは、HashTag ID とムービー ID を MoviesHashTags テーブルに追加することを想定しています。
ATM この MoviesHashTags テーブルは空のままです
-------------------------------------------------------------------------
表 映画:
[DataContract]
public class Movie
{
[DataMember]
public long Id { get; set; }
*
*
*
[DataMember]
public ICollection<HashTag> HashTagsCollection { get; set; }
public Movie()
{
HashTagsCollection = new HashSet<HashTag>();
}
TABLE ハッシュタグ:
[DataContract]
public class HashTag
{
[DataMember]
public long HashTagId { get; set; }
*
*
*
[DataMember]
public ICollection<Movie> MoviesCollection { get; set; }
public HashTag()
{
MoviesCollection = new HashSet<Movie>();
}
Dbコンテキスト:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Movie>().
HasMany(c => c.HashTagsCollection).
WithMany(p => p.MoviesCollection).
Map(
m =>
{
m.MapLeftKey("Id");
m.MapRightKey("HashTagId");
m.ToTable("MoviesHashTags");
});
}