Как добавить многие ко многим, когда новая запись добавляется в таблицу данных в. net core 3.0 - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть модель "многие ко многим", настроенная как

    public class Identifier
    {
        [Key]
        public int IdentifierId { get; set; }
        public string Name { get; set; }
        public string Value { get; set; }
        public virtual IList<ItemIdentifier> ItemIdentifier { get; set; }
    }

    public class Item
    {
       [Key]
       public int ItemId { get; set;}
       ....
       public virtual IList<ItemIdentifier> ItemIdentifier { get; set;}
    }

    public class ItemIdentifier
    {
      public int ItemId { get; set; }
      public Item Item { get; set; }
      public int IdentifierId { get; set; }
      public Identifier Identifier { get; set; }
    }

Каждый элемент может иметь по крайней мере один или несколько идентификаторов, а каждый идентификатор может иметь по крайней мере один или несколько элементов. Дело в том, что я путаюсь, если я добавляю новый Идентификатор или Элемент, если я должен сделать

var item = _context.Items.firstorDefault(u => u.properties == postedItem.properties);//properties do not include identifier
if(item == null)
{ item = new item(){...}}
var Identifier = _context.Identifiers.FirstorDefault(u => u.name = postedIdentifier.Name && u.value == postedIdentifier.value);
//...repeat the above check same as product

Вот наиболее запутанная часть var itemIdentifier = _context.ItemIdentifiers.FirstorDefault (u => u.Item = = item && u => u.product == product);

how do I do _context.Add(product || identifier || itemidentifier ) || _context.Entry(item || identifier || itemidentifier)

My point is will incase item or Identifier exist/or dont do I have to individually add or edit individual Item, Identifier and ItemIdentifier or will Entity Framework handle everything by itself when you alter just a single entry.
...