EFCore: дублирование объектов - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть объекты, подобные следующему:

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

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

После добавления задания с коллекцией Пэт больше невозможно добавить новое задание с той же коллекцией Пэт.Я хотел бы дублировать Pats для каждого задания.

Вот что я сделал:

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 Ответ

3 голосов
/ 28 апреля 2019

Звучит так, как будто вы ищете отношения «многие ко многим», где вы можете иметь отдельный набор заданий и заданий, которые можно связать.

Вам нужен class JobPat с идентификатором для каждого, а затем Job и Pat получают коллекцию JobPat вместо прямой ссылки.

Настройка отношений «многие ко многим» с EF Core

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...