2012-09-20 42 views
0

想知道是否有人可以看到爲什麼我收到錯誤「行未找到或更改。」當我執行這個LINQ查詢。爲什麼我的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(); 

     } 
+1

可能重複[Linq的行未找到或改變(HTTP:// stackoverflow.com/questions/8851482/linq-row-not-found-or-changed) –

+2

你在上下文dc中做過其他任何事情嗎? – DaveHogan

+0

yes會更新上面的代碼... – thatuxguy

回答

0

工作了,看着什麼DaveHogan說了,它感動了一下週圍也更新的東西一點點... ...

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

確保設計師展示完全相同的領域你的實體,如數據庫架構。

當實體中的未更新的數據庫發生更改時,通常會發生此錯誤。

例如,表格列可能會更改爲允許null值,但實體未更新以識別更改。

相關問題