乐观锁的概念和使用场景我就不在这里说了,直入主题怎么去实现乐观锁。
abp vnext实现乐观锁的方法十分的简单,只需要实体继承AggregateRoot变为聚合根就行了
AggregateRoot
类实现了 IHasExtraProperties
和 IHasConcurrencyStamp
接口,这为派生类带来了两个属性. IHasExtraProperties
使实体可扩展(请参见下面的 额外的属性部分) 和 IHasConcurrencyStamp
添加了由ABP框架管理的 ConcurrencyStamp
属性实现乐观并发. 在大多数情况下,这些是聚合根需要的功能.
但是,如果你不需要这些功能,你的聚合根可以继承 BasicAggregateRoot<TKey>
(或BasicAggregateRoot
).
当然了,你要说我不想把实体搞的这么复杂,那么只继承IHasConcurrencyStamp
也是可以的。
继承了IHasConcurrencyStamp
以后,对该实体的更新就自动带乐观锁了。
好了,言简意赅,下次说下如何优雅的实现悲观锁,分布式锁。