樂觀鎖的概念和使用場景我就不在這里說了,直入主題怎么去實現樂觀鎖。
abp vnext實現樂觀鎖的方法十分的簡單,只需要實體繼承AggregateRoot變為聚合根就行了
AggregateRoot
類實現了 IHasExtraProperties
和 IHasConcurrencyStamp
接口,這為派生類帶來了兩個屬性. IHasExtraProperties
使實體可擴展(請參見下面的 額外的屬性部分) 和 IHasConcurrencyStamp
添加了由ABP框架管理的 ConcurrencyStamp
屬性實現樂觀並發. 在大多數情況下,這些是聚合根需要的功能.
但是,如果你不需要這些功能,你的聚合根可以繼承 BasicAggregateRoot<TKey>
(或BasicAggregateRoot
).
當然了,你要說我不想把實體搞的這么復雜,那么只繼承IHasConcurrencyStamp
也是可以的。
繼承了IHasConcurrencyStamp
以后,對該實體的更新就自動帶樂觀鎖了。
好了,言簡意賅,下次說下如何優雅的實現悲觀鎖,分布式鎖。