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