SecurityStamp
in table AspNetUsers
is not exactly the same with RowVersion
though the purpose is the same, to handle concurrency.
You may refer to this answer.
The security stamp can be anything you want. It is often mistaken to be a timestamp, but it is not. It will be overriden by ASP.NET Identity if something changes on the user entity. If you're working on the context directly the best way would to generate a new Guid and use it as the stamp.
Anyways, [Timestamp]
attribute doesn't work for inheriting classes. It should be added on the base class instead. But for your case, it is not possible since you cannot add this directly on IdentityUser
.
There is no point adding this on your User
class because SecurityStamp
already exists for the same purpose. Try using it on your other entities instead.