У меня есть модель "многие ко многим", настроенная как
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.