2013-02-05 96 views
-1

正在嘗試的LINQ到實體更新查詢相當於寫下面的SQL查詢更新LINQ到實體

update INVOICES set STATUS=1 where INVOICE=165438  

我的LINQ到實體

var db = new MyEntities(); 
      var query = 
      from t in db.INVOICES 
      where 
      t.INVOICE1 == "165438" 
      select t; 
      foreach (var t in query) 
      { 
       t.STATUS ="1"; 
      } 

      db.SaveChanges(); 

我不知道,請有人扔我一些幫助 。

感謝

+4

出了什麼問題,你有什麼? – Blorgbeard

+2

有一件事情是錯誤的:'db'實現了IDisposable,並且沒有使用''關鍵字或其他標誌,db.Dispose()最終被調用。 –

+0

我只是雙重檢查bcoz現在我不能再次測試這個代碼,我在我的項目中有一些例外,這就是爲什麼 – Usher

回答

1

標籤與EntityState.Modified你的實體來告訴的EntityFramework更新它在你的數據庫

var query = /*Your query*/; 
foreach (var t in query) 
{ 
    t.STATUS ="1"; 
    db.Entry(t).State = System.Data.EntityState.Modified; 
} 

db.SaveChanges();