Qual è lo scopo della colonna ConcurrencyStamp
nella tabella AspNetUsers
nella nuova identità di ASP.NET MVC 6?Qual è lo scopo della colonna ConcurrencyStamp nella tabella AspNetUsers nella nuova identità di ASP.NET MVC 6?
Questo è lo schema del database della tabella AspNetUsers
:
E 'anche lì nella tabella AspNetRoles
:
Come mi ricordo che non era lì in l'identità di ASP.NET MVC 5.
Quello che ho notato finora è che sembra avere valori GUID come viene definito con il seguente codice:
/// <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();
Ma questa documentazione non è sufficiente per me per capire in quali situazioni è Usato.
I_assume_ (non ho ancora usato v6), che come suggerisce il nome, è usato per gestire gli 'aggiornamenti' concomitanti su un' utente'. _manuale_ aggiungo qualcosa di simile (ad esempio 'rowversion' /' timestamp') a [realizza lo stesso] (http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/movimentazione-concorrenza-con-la-entità-quadro-in-un-asp-net-mvc-applicazione). Hth ... – EdSF
Sto iniziando a pensare che questo sia per scopi di caching di ASP.NET. –
Quello che voglio sapere è, perché l'hanno impostato su 'nvarchar (MAX)' se non sarà più lungo di un GUID –