EFCore:复制对象

时间:2019-04-28 12:26:58

标签: c# entity-framework

我有如下对象:

Class Job
{
  int JobId; // PK
  Icollection<Pat> Pats;
}

Class Pat
{
  int PatId; // PK
  int JobId; // FK
  string RelativePath;
}

一旦添加了具有Pat集合的Job,就无法再添加具有相同Pat集合的Job。 我想为每个工作重复拍拍。

这是我所做的:

using (var db = new TransferContext())
{
   for (int i = 1; i<=2; i++)
   {
        var tj = new Job()
        {
            Pats = listto;
        };                        
        await db.TJobs.AddAsync(tj);
   }
   await db.SaveChangesAsync();
}

listto是我要为每个作业复制的集合。

感谢您的帮助。

K

1 个答案:

答案 0 :(得分:3)

听起来您正在寻找“多对多”关系,可以在其中建立一组可以链接的作业和拍子。

您需要一个class JobPat每个都有一个ID,然后JobPat获得JobPat的集合,而不是直接链接。

Configuring Many to Many Relationships with EF Core