diff --git a/ConfectioneryDatabaseImplement/Shop.cs b/ConfectioneryDatabaseImplement/Shop.cs index bd87290..190e58d 100644 --- a/ConfectioneryDatabaseImplement/Shop.cs +++ b/ConfectioneryDatabaseImplement/Shop.cs @@ -106,16 +106,12 @@ namespace ConfectioneryDatabaseImplement.Models } } var shop = context.Shops.First(x => x.Id == model.Id); - foreach (var pc in model.Pastries) - { - context.PastryComponents.Add(new() - { - Pastry = context.Pastries.First(y => y.Id == pc.Key), - Count = pc.Value.Item2, - }); - context.SaveChanges(); - } - context.SaveChanges(); + shop.ShopPastries.AddRange(model.Pastries.Select(x => new ShopPastry + { + Pastry = context.Pastries.First(y => y.Id == x.Key), + Count = x.Value.Item2, + }).Except(shopPastries ?? new())); + context.SaveChanges(); _cachedPastries = null; } }