Asp.net core EF7联接表中多对多关系的重复项

Asp.net core EF7联接表中多对多关系的重复项,asp.net-core,entity-framework-core,Asp.net Core,Entity Framework Core,我遵循的是核心ef mvc教程(),我有两个模型彼此共享多对多关系,这意味着我必须在这两个类之间定义一对多关系,以及一个专门用于连接表的类,对吗?即 public class JoinTable { public int model1ID; public model1 model1; public int model2ID; public model2 model2; } 在示例DbInitializer种子方法中,以下代码: foreach(Enrollmen

我遵循的是核心ef mvc教程(),我有两个模型彼此共享多对多关系,这意味着我必须在这两个类之间定义一对多关系,以及一个专门用于连接表的类,对吗?即

public class JoinTable    
{
  public int model1ID;
  public model1 model1;    
  public int model2ID;
  public model2 model2;
}
在示例DbInitializer种子方法中,以下代码:

foreach(Enrollment e in enrollments)
{
       var enrollmentInDataBase = context.Enrollments.Where(
        s =>
            s.Student.ID == e.StudentID &&
              s.Course.CourseID == e.CourseID).SingleOrDefault();
       if (enrollmentInDataBase == null)
       {
            context.Enrollments.Add(e);
       }
}

本质上保存在seed方法中定义的表中不存在的所有实体。我如何编写一个方法,将实体保存到数据库最多x次(我自己的应用程序需要此功能)?同样根据我的知识,我确信数据模型(或表)定义中存在一个必须更改的隐含限制?

在评论中回答,但移动到这里是为了可见性:


您希望在DeckCard中有一个名为Count的第三个属性,每个卡只有一个条目,而计数将是该卡在DeckCard中的数量。

您是说希望表中有多个相同行的条目吗?准确地说。若你们还记得我的数据模型有类、卡片和卡片。我现在使用一个类卡片作为联接表,但每个卡片组最多可以使用每个卡片3次。因此,联接表需要允许同一行的多个条目。我原以为在DeckCard类中添加一个ID会使每一行都是uniquer,但我仍然得到一个例外。那是100%的打字错误。。。这就是你校对的原因。你很漂亮……好吧,谢谢你的建议;行。你基本上回答了我的问题。我应该用我更新的代码自己回答吗?