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()