Quel est le but de la ConcurrencyStamp colonne dans la AspNetUsers table dans la nouvelle ASP.NET MVC 6 de l'identité?

Quel est le but de la ConcurrencyStamp colonne dans la AspNetUsers table dans la nouvelle ASP.NET MVC 6 identité?

C'est le schéma de base de données de la AspNetUsers table:

Quel est le but de la ConcurrencyStamp colonne dans la AspNetUsers table dans la nouvelle ASP.NET MVC 6 de l'identité?

C'est également là dans le AspNetRoles table:

Quel est le but de la ConcurrencyStamp colonne dans la AspNetUsers table dans la nouvelle ASP.NET MVC 6 de l'identité?

Que je me souviens qu'il n'était pas là dans le ASP.NET MVC 5 de l'identité.

Ce que j'ai remarqué jusqu'à présent, c'est qu'il semble avoir des valeurs GUID tel qu'il est défini par le code suivant:

///<summary>
///A random value that must change whenever a user is persisted to the store
///</summary>
public virtual string ConcurrencyStamp { get; set; } = Guid.NewGuid().ToString();

Mais cette documentation n'est pas suffisant pour moi de comprendre dans quelles situations il est utilisé.

  • Je suppose (n'avez pas utilisé le v6 encore), qui comme son nom l'indique, il est utilisé pour traiter le simultanées updates à un user. J'ai ajouter manuellement quelque chose de semblable (par exemple,rowversion / timestamp) accomplir même. Hth...
  • Je commence à chose que ce soit pour de ASP.NET la mise en cache.
  • Ce que je veux savoir, c'est pourquoi ils l'ont mis à nvarchar(MAX) si ça va être n'est plus qu'un GUID
  • croix plate-forme/base de données que je suis dans le doute. De Plus, vous pouvez stocker dans un endroit qui n'est même pas une base de données SQL.