Ejemplo n.º 1
0
 public void SaveOrder(Order order)
 {
     context.AttachRange(order.Lines.Select(l => l.Product)); // cela empeche de save le product si il est déjà dans la db
     if (order.OrderID == 0)
     {
         context.Orders.Add(order);
     }
     context.SaveChanges();
 }
Ejemplo n.º 2
0
 public void SaveOrder(Order order)
 {
     context.AttachRange(order.Lines.Select(l => l.Product));
     if (order.OrderID == 0)
     {
         context.Orders.Add(order);
     }
     context.SaveChanges();
 }
 public void SaveOrder(Order order)
 {
     // AttachRange notifies EFCore that the product objects already exist and shouldn't be stored in database unless they are modified (which they won't be here as user not able to modify products)
     context.AttachRange(order.Lines.Select(l => l.Product));
     if (order.OrderID == 0)
     {
         context.Orders.Add(order);
     }
     context.SaveChanges();
 }
Ejemplo n.º 4
0
 public void SaveOrder(Order order)
 {
     //Prevent EF from storing products, assosiated with the Order, because they
     //already exist in the database
     context.AttachRange(order.Lines.Select(l => l.Product));
     if (order.OrderID == 0)
     {
         context.Orders.Add(order);
     }
     context.SaveChanges();
 }
Ejemplo n.º 5
0
        public void SaveOrder(Order order)
        {
            var products = order.Lines.Select(l => l.Product);

            context.AttachRange(products);
            if (order.OrderID == 0)
            {
                context.Orders.Add(order);
            }
            context.SaveChanges(); //Page 205
        }
Ejemplo n.º 6
0
 public void SaveOrder(Order order)
 {
     // This ensures that Entity Framework Core won't try to write the
     // de-serialized Product objects that are associated with the Order
     context.AttachRange(order.Lines.Select(l => l.Product));
     if (order.OrderID == 0)
     {
         context.Orders.Add(order);
     }
     context.SaveChanges();
 }
Ejemplo n.º 7
0
 public void SaveOrder(Order order)
 {
     context.AttachRange(order.Lines.Select(p => p.Product));
     if (order.OrderID == 0)
     {
         foreach (CartLine line in order.Lines)
         {
             line.Product.StockQuantity -= line.Quantity;
         }
         context.Orders.Add(order);
     }
     context.SaveChanges();
 }
Ejemplo n.º 8
0
 public void SaveOrder(Order order)
 {
     #region
     //notify Entity Framework Core that the
     //objects exist and shouldn’t be stored
     //in the database unless they are modified
     #endregion
     context.AttachRange(order.Lines.Select(l => l.Product));
     if (order.OrderID == 0)
     {
         context.Orders.Add(order);
     }
     context.SaveChanges();
 }
Ejemplo n.º 9
0
 public void SaveOrder(Order order)
 {
     // исключение из генерируемого sql-запроса
     // информации про товары
     // (для этого заменяем все модели "товар в корзине"
     // на "товар" и указываем получившийся список,
     // чтобы не было попытки добавить в базу данный "товар",
     // которые там уже есть)
     context.AttachRange(order.Lines.Select(l => l.Product));
     // если заказ сохраняется в БД впервые - выполняем построение
     // команды вставки строки в таблицу методом Add
     if (order.OrderID == 0)
     {
         context.Orders.Add(order);
     }
     // иначе ничего не делаем, и это приводит к формированию команды обновления
     // в момент вызова метода SaveChanges
     context.SaveChanges();
 }