public void Update(Order order)
 {
     using (var db = new OrderDB()) {
         Console.WriteLine(db.Entry(order).State);
         db.Entry(order).State = EntityState.Modified;
         order.Items.ForEach(
             item => db.Entry(item).State = EntityState.Modified);
         db.SaveChanges();
     }
 }
 public void Update(Order order)
 {
     using (var db = new OrderDB()) {
         db.Order.Attach(order);
         db.Entry(order).State = EntityState.Modified;
         order.Items.ForEach(
             item => db.Entry(item).State = EntityState.Modified);
         db.SaveChanges();
     }
 }
Beispiel #3
0
 public void Add(Order order)
 {
     using (var db = new OrderDB()) {
         db.Entry(order).State = EntityState.Added;
         db.SaveChanges();
     }
 }
Beispiel #4
0
        public void Update(Order newOrder)
        {
            using (var db = new OrderDB()) {
                Order oldOrder = db.Order.Include("Details").SingleOrDefault(o => o.Id == newOrder.Id);
                db.OrderItem.RemoveRange(oldOrder.Details);
                db.SaveChanges();
            }

            using (var db = new OrderDB()) {
                foreach (OrderDetail detail in newOrder.Details)
                {
                    db.Entry(detail).State = EntityState.Added;
                }
                //db.SaveChanges();//先保存items部分的修改
                db.Entry(newOrder).State = EntityState.Modified;
                db.SaveChanges();//保存Order的属性修改
            }
        }
Beispiel #5
0
 public void Update(Order order, List <OrderItem> removed, List <OrderItem> newItems)
 {
     using (var db = new OrderDB()) {
         order.Items.AddRange(newItems);
         foreach (OrderItem item in order.Items)
         {
             if (removed.Contains(item))
             {
                 db.Entry(item).State = EntityState.Deleted;
             }
             else if (newItems.Contains(item))
             {
                 db.Entry(item).State = EntityState.Added;
             }
             else
             {
                 db.Entry(item).State = EntityState.Modified;
             }
         }
         db.SaveChanges(); //先保存items部分的修改
         db.Entry(order).State = EntityState.Modified;
         db.SaveChanges(); //保存Order的属性修改
     }
 }