实体框架6如何根据旧值更新字段而无需重新加载?

时间:2014-03-16 04:51:13

标签: entity-framework entity-framework-6 entity-framework-6.1

我找到了一种在sql中实现以下行为的方法:

update TableName set Column1 = Column1 + 2

新实体框架6是否支持此类?

2 个答案:

答案 0 :(得分:1)

为什么不使用ExecuteSqlCommand

context.Database.ExecuteSqlCommand(@"UPDATE TableName SET [Column1] = [Column1] + 2");

当然,如果您的#39; ll用于许多表格,您可以考虑制作一些包装方法来制作此通用

答案 1 :(得分:0)

不是默认情况下,但有一个可用的NuGet包提供此功能。

https://github.com/loresoft/EntityFramework.Extended

//update all tasks with status of 1 to status of 2
context.Tasks.Update(t => t.StatusId == 1, t2 => new Task {StatusId = 2});