我应该如何去更新数据库中的一行?没有更新方法,如果我使用add并且主键ID已经存在,我会得到一个异常。请尽可能提供一个例子。如何先使用实体框架代码更新一行?
9
A
回答
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
相关问题
- 1. 实体框架代码首先使用Where子句更新
- 2. 实体框架代码优先使用
- 3. 用实体框架更新数据库模式代码首先
- 4. 如何首先在实体框架代码中使用MigratorScriptingDecorator?
- 5. 如何使用实体框架代码优先
- 6. 如何使用代码优先实体框架指定外键
- 7. 实体框架 - 代码优先,DbSet.Local不在UI中更新
- 8. 删除级联更新到实体框架代码首先
- 9. 从实体框架4.1中更新排除列代码优先
- 10. 实体框架5代码优先 - 如何“重新开始”?
- 11. 实体框架建模代码优先
- 12. 实体框架,代码优先和datetimes
- 13. 与实体框架代码优先
- 14. 我在实体框架代码首先
- 15. 实体框架 - 代码优先方法
- 16. 实体框架|代码优先|从CultureInfo.Name
- 17. 实体框架代码首先愁楚
- 18. 实体框架代码首先FK场
- 19. 实体框架 - 代码优先Fluent API:ErrorMessage?
- 20. 映射实体框架“代码优先”
- 21. 实体框架代码优先映射
- 22. 实体框架代码首先+ MySQL ... NullReferenceException
- 23. 实体框架+ PostgreSQL代码优先
- 24. 部署实体框架代码首先
- 25. 实体框架代码优先 - 关系
- 26. 变化实体框架代码首先
- 27. 如何使用实体框架代码优先方法编辑实体?
- 28. 实体框架4.1 RC(代码优先) - 实体没有通过关联更新
- 29. 如何更新实体框架7迁移和数据库 - 代码优先
- 30. 如何使用实体框架代码优先将实体持久保存到数据库时执行代码?
识别数据库中的问题。 – DwB 2011-02-08 16:08:51