0

「行が見つからないか変更されていません」というエラーが表示される理由を誰かが理解できるかどうか疑問に思います。このLINQクエリを実行するとき。

行があり、データは正常に取得されていますが、更新に関しては、上記のエラーが発生します。

aboDataDataContext dc = new aboDataDataContext();

        var orders = dc.GetOrderToAcknowledges;

        //Get the TWE Order ID and Store in DB.
        foreach (var order in orders)
        {
            int orderId = dc.amzOrders.Single(o => o.amzOrderId == order.amzOrderId).id;
            DateTime now = DateTime.Now;

            GetTWEOrderID(orderId, now.ToString());

            amzOrder orderUpdate = dc.amzOrders.Single(o => o.id == orderId);
            orderUpdate.acknowledged = true;
            orderUpdate.lastUpdate = Convert.ToDateTime(now);

            dc.SubmitChanges();

        }
4

2 に答える 2

0

デザイナーが、データベース スキーマなどのエンティティに対してまったく同じフィールドを表示していることを確認してください。

このエラーは、エンティティで更新されなかった変更がデータベースにある場合によく発生します。

たとえば、null値を許可するようにテーブルの列が変更された可能性がありますが、エンティティは変更を認識するように更新されていません。

于 2012-09-20T13:16:09.873 に答える
0

それを解決し、デイブホーガンが言ったことを調べ、それを少し動かし、物事を少し更新しました...

var ou = dc.amzOrders.Single(o => o.amzOrderId == order.amzOrderId);
int orderId = ou.id;
DateTime now = DateTime.Now;

ou.acknowledged = true;
ou.lastUpdate = Convert.ToDateTime(now);

dc.SubmitChanges();

GetTWEOrderID(orderId, now.ToString());
于 2012-09-20T13:18:57.623 に答える