简单的问题,是可以实现此查询这个实体框架更新一个实体时?

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,但它应该是非常相似的声明。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top