C# EF 4不更新db.SaveChanges()上的数据库记录
您好,下面是我的代码片段:C# EF 4不更新db.SaveChanges()上的数据库记录,c#,asp.net-mvc-3,sql-server-2008,entity-framework-4.1,C#,Asp.net Mvc 3,Sql Server 2008,Entity Framework 4.1,您好,下面是我的代码片段: Paypal paypal = new Paypal(); paypal.Invoice = transactionID; paypal.TxnType = ""; paypal.CreateDate = DateTime.Now; paypal.AmountPaid = payment; paypal.PaymentSta
Paypal paypal = new Paypal();
paypal.Invoice = transactionID;
paypal.TxnType = "";
paypal.CreateDate = DateTime.Now;
paypal.AmountPaid = payment;
paypal.PaymentStatusId = paymentStatus;
db.Paypals.Add(paypal);
db.SaveChanges();
// Order Does not Update
Order order = _orderRepository.GetOrderByOrderId(orderId);
order.OrderStatusId = OrderStatusConstant.Paid;
order.PurchasedDate = DateTime.Now;
order.LastModified = DateTime.Now;
order.PaypalIpnId = paypal.PaypalIpnId;
db.SaveChanges();
// Cart Does not Update
Cart cart = _cartRepository.GetCartByCartId(order.CartId);
cart.Completed = true;
db.SaveChanges();
订单
和购物车
实体不更新。但是插入了Paypal
对象。没有引发任何错误或异常。这包含在try..catch
子句中
这里有什么问题吗?存储库代码返回对象良好。因此。。。当插入工作但更新不工作时,我查看AutoDetectChange属性(在context.Configuration中) 如果不希望进行此跟踪(mean AutoDetectChange=false),则必须手动将修改的实体设置为已修改(EntityState)
(插入有效,因为Add方法修改对象的entityState)。。。当插入工作但更新不工作时,我查看AutoDetectChange属性(在context.Configuration中) 如果不希望进行此跟踪(mean AutoDetectChange=false),则必须手动将修改的实体设置为已修改(EntityState)
(插入之所以有效,是因为Add方法修改了对象的entityState)我发现订单和购物车有一个共同点,而Paypal则不同。Paypal是使用代码中显示的上下文插入的,但Cart和Order是从存储库下载的。确保存储库使用相同的上下文。我在这里看到订单和购物车有一个共同点,而Paypal则不同。Paypal是使用代码中显示的上下文插入的,但Cart和Order是从存储库下载的。确保存储库使用相同的上下文。在调试模式下什么也得不到?在调试模式下什么也得不到?我认为kubal5003是正确的。在调试模式下检查
上下文
对象的对象ID
。嗯,它们都使用这个上下文chdenties db=new chdenties()代码>我认为kubal5003是正确的。在调试模式下检查上下文
对象的对象ID
。嗯,它们都使用这个上下文chdenties db=new chdenties()代码>