【发布时间】:2017-01-24 23:01:47
【问题描述】:
在实体框架中是否可以向数据库中的现有值添加值? 目前我有这个:
var ent = this.repository.GetSingle(id);
var moreQuantity = 5; // This is calculated in application logic
ent.quantity = ent.quantity + moreQuantity;
this.repository.SaveChanges();
可以在单个数据库交互中做同样的事情吗?我的意思是在 SQL 中是这样的:
UPDATE table SET quantity = quantity + {moreQuantity} WHERE id = {id}
不使用 ExecuteSqlCommand 或 ExecuteStoreQuery。
我问这个的原因是因为我的应用程序中的 GetSingle 和 SaveChanges 之间有很长的时间,所以我运行时遇到了一些并发问题。我设法使用 RowVersion 和 ConcurrencyCheck 解决了这个问题,但我正在寻找更好的实现。
提前致谢。
【问题讨论】:
-
您使用的是哪个版本的 EF?
-
@MikeMazmanyan 你好,6.1.1
标签: c# entity-framework