与实体框架Update语句
-
19-08-2019 - |
题
简单的问题,是可以实现此查询这个实体框架更新一个实体时?
update test set value = value + 1 where id = 10
解决方案
不是真的根据本形式没有。
您将不得不选择在他们符合您的标准的foreach所有实体和更新它们。
如果你正在寻找的东西,都将做正确的DB,因为你的设置可能是巨大的,你将不得不直接使用SQL。 (我不记得是否EF有办法直接执行UPDATE查询的LINQ to SQL的方式做)。
其他提示
使用实体框架扩展库的批量更新功能,像这样的:
dbContext.Tests.Update(t => t.Id == 10, t => new Test() { Value = t.Value + 1 });
它应该是,它也只是一点点更一般的限制。
var myEntity = context.First(item => item.id == 10);
myEntity.value += 1;
context.SaveChanges();
应该产生类似SQL,你可以看探查看到实际上正在发生什么SQL,但它应该是非常相似的声明。
不隶属于 StackOverflow