Quando si gestisce la concorrenza ottimistica con SQL Server, il modo più semplice per creare la colonna con la versione è crearla di tipo Timestamp così che ad ogni aggiornamento sia SQL Server a cambiare la versione. Per default, la proprietà che mappa sul timestamp è di tipo byte[], ma questo comportamento non è sempre ottimale per due motivi. Il primo è che byte[] è un tipo mutabile, il secondo è che un byte[] serializzato è poco comprensibile all'occhio umano e quindi rende il debug più difficile a volte. Per questi motivi, è stata aggiunta la possibilità di mappare la colonna che fa da rowversion non solo con una proprietà di tipo byte[], ma anche di tipo long. Per fare questo, dobbiamo dichiarare la proprietà dell'entity come long o ulong e nel mapping specificare che il valore della proprietà viene generato convertendo da byte[].
public partial class Person { public int Id { get; set; } public string Name { get; set; } public long Timestamp { get; set; } } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Customers>(entity => { entity.Property(e => e.Timestamp) .IsRowVersion() .HasConversion<byte[]>() .IsConcurrencyToken(); }); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare Locust con Azure Load Testing
Recuperare gli audit log in Azure DevOps
Gestire codice JavaScript con code splitting e lazy loading
Creare una libreria CSS universale: Nav menu
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Centralizzare gli endpoint AI Foundry con Azure API Management
Utilizzare Container Queries nominali
Gestione dell'annidamento delle regole dei layer in CSS
Supportare la sessione affinity di Azure App Service con Application Gateway
Gestire progetti NPM in .NET Aspire
Ottimizzare le pull con Artifact Cache di Azure Container Registry
La gestione della riconnessione al server di Blazor in .NET 9
I più letti di oggi
- ASPItalia.com Future Web Conference: 15 gennaio 2008, L'Aquila
- Download della RC1 di Windows.NET
- Gestione CSS in Blazor con .NET 9
- Gestione file Javascript in Blazor con .NET 9
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!