0

他の 2 つのエンティティ (ドメイン、サブページ) に関連するエンティティ (リンク) を作成しようとしているため、リンク テーブルには ID とサブページ ID の 2 つの列があります。基本的に、ドメインオブジェクトとサブページオブジェクトを多くのリンクオブジェクトにマップでき、各リンクオブジェクトが1つのドメインとサブページオブジェクトにのみ関連する2つの1対多の関係を作成しようとしています.

リンクモデル

 public class Link
    {
        [Key]
        public int LinkID { get; set; }

        ...

        [Required]
        public int ID { get; set; }
        public virtual Domain Domain { get; set; }
        [Required]
        public int SubpageID { get; set; }
        public virtual Subpage Subpage { get; set; }
    }

ドメインモデル

public class Domain
    {
        public int ID { get; set; }

        ...

        ICollection<Link> Links { get; set; }
    }

サブページ モデル

 public class Subpage
    {
        [Key]
        public int SubpageID { get; set; }

        ...

        [Required]
        public int ID { get; set; }
        public virtual Domain Domain { get; set; }

        ICollection<Link> Links { get; set; }

    }

DbContext

public class DomainAppContext : DbContext
    {
        public DbSet<Domain> Domains { get; set; }
        public DbSet<RegInfo> RegInfos { get; set; }
        public DbSet<Subpage> Subpages { get; set; }
        public DbSet<Link> Links { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
        }

    }

カスケード削除などの問題を解決した後、リンク テーブルに SubpageID 列がないことに気付きましたが、その理由がわかりません...

EF にリンク テーブルに SubpageID 列を作成させるにはどうすればよいですか?

4

1 に答える 1