1

私は自分の Web ショップに nopcommerce を使用しており、注文が発送されたときに外部システムから情報を取得するタスクを使用しています。発送されたら、支払いを受け取り、発送済みとして設定したいと思います。ただし、EFエラーが発生し続けます。今のところこれを回避する方法はありますか?私はそれを稼働させる必要があります

エンティティ オブジェクトは、IEntityChangeTracker の複数のインスタンスによって参照できません。

以下の私のコードを参照してください:

                int orderId = PBSManager.GetOrderIdByCustomOrderNumber(customOrderNumber);
            NopObjectContext db = ObjectContextHelper.CurrentObjectContext;
            Order order = db.Orders.SingleOrDefault(c => c.OrderId == orderId);
            //Incorrect order id    
            if (order == null)
            {
                //Skip this one if we cannot find the id
                continue;
            }
            if (OrderManager.CanCapture(order))
            {
                string error = string.Empty;
                OrderManager.Capture(order, ref error);
                if (!string.IsNullOrEmpty(error))
                {
                    PBSManager.HandleCaptureError(order, error);
                    return;
                }
            }
            if (OrderManager.CanShip(order))
            {
                OrderManager.Ship(order.OrderId, true);
            }
4

2 に答える 2

0

おそらく、OrderManagerクラスで別のコンテキストを作成していると思います。同じコンテキストを使用する必要があります。

このリンクは役に立ちますか

コンテキストの複数のインスタンス

于 2010-11-26T14:35:28.980 に答える
0

nopCommerce は現在のコンテキストを HttpContext に保存しません。そこで探してみましたか?

于 2012-02-01T16:54:31.957 に答える