1

ニュース エンティティがあり、NewsID に基づいてニュースを取得します。次に、新しいエンティティ、グループを定義し、グループ ID に基づいてニュースを取得したいと考えています。コード ファースト アプローチを使用して、この記事を使用して、この (多対多) 関係を処理しようとしました。

ここに画像の説明を入力

だから私の文脈では私は追加しました:

 public class Groupnews : DbContext
    {

        public DbSet<Group> Group { get; set; }
        public DbSet<News> News { get; set; }

        public Groupnews()
            : base("MyDb")
        {
        }

        public int NewsID { get; set; }
    }

this.HasMany(t => t.News)
    .WithMany(t => t.Groups)
    .Map(m =>
        {
            m.ToTable("GroupNews");
            m.MapLeftKey("GroupID");
            m.MapRightKey("NewsID");
        });

このアプローチを使用して、GroupID に基づいてニュースを取得できるようになりました。しかし、問題は新しいニュースと更新の挿入にあります。そのためには、NewsID と GroupId を GroupNews テーブルに保存する必要があります。これを行うため。ニュースモデルで私が定義した:

    public virtual ICollection<Group> RelatedGroups { get; set; }

    public News()
    {
        RelatedGroups = new List<Group>();
    }

group についても同じです:

    public virtual ICollection<News> RelatedNews { get; set; }
    public Group()
    {
        RelatedNews = new List<News>();
     }

私のニュースコントローラーでは、次を追加します:

            Group group = new Group();
            group.RelatedNews.Add(news);

ここに画像の説明を入力

しかし、何も更新されず、NewsID が GroupNews テーブルに追加されません。

4

1 に答える 1