2011-02-08 53 views

回答

21

最簡單的方法是:

(1)使用pk檢索現有行。

(2)更新屬性。

(3)在上下文中調用SaveChanges()。

例如

 var student = context.Students.Find(42); 

     student.Description = "updated"; 

     context.SaveChanges(); 
+1

這是最簡單的方法,但它使更多的查詢到數據庫不是嗎?我的意思是它必須做SELECT來找到你想要更新的實體,然後更新它。但是一般來說,你應該可以在沒有這個查詢的情況下使用UPDATE。有這樣的方式嗎? – Zoka 2012-11-28 21:17:36

17

這是一種方式,爲我工作,而無需進行查詢第一:

context.Students.Attach(student); 
context.Entry(student).State = EntityState.Modified; 
context.SaveChanges(); 
+0

另一個答案目前爲止我工作,但沒有在我的第一個代碼第一個項目。那麼,你知道你的答案爲什麼起作用嗎? – MVCDS 2015-05-18 00:01:31