2011-02-08 79 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