实体框架核心2链接到多对多

时间:2019-03-12 13:27:52

标签: many-to-many entity-framework-core

这是我的模型,它在学习程序和学习模块之间建立了多对多关系。我不确定下一步的最佳做法是表格学习版本。这需要一对多连接到这个多对多学习程序分配。我是否需要在LearningProgrammeAssignment中创建一个ID?还是可以在LearningRelease中引用它?

public class MyContext : DbContext
{
    public DbSet<LearningProgramme> LearningProgrammes { get; set; }
    public DbSet<LearningModule> LearningModules { get; set; }
    public DbSet<LearningProgrammeAssignment> LearningProgrammeAssignments { get; set; }
    public DbSet<LearningRelease> LearningReleases { get; set; }

}

protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<LearningProgrammeAssignment>()
            .HasKey(p => new { p.LearningModuleId, p.LearningProgrammeId });
    }

public class LearningProgramme
{
 public int LearningProgrammeId { get; set; }
 public string LearningProgrammeTitle { get; set; }
 public List<LearningProgrammeAssignment> LearningProgrammeAssignments { get; set; }
}

public class LearningModule
{
  public int LearningModuleId { get; set; }
  public string LearningModuleTitle { get; set; }
 public List<LearningProgrammeAssignment> LearningProgrammeAssignments { get; set; }
}

public class LearningProgrammeAssignment
{
    public int LearningProgrammeId { get; set; }
    public int LearningModuleId { get; set; }
    public LearningProgramme LearningProgramme { get; set; }
    public LearningModule LearningModule { get; set; }
}

public class LearningRelease
{
 public int LearningReleaseId { get; set; }
 public int systemcode { get; set; }
 public DateTime ReleaseDate { get; set; }   
     //add in the LearningProgrammeAssignment id 
}

0 个答案:

没有答案