Il DataReader resta l'oggetto più veloce che ADO.NET mette a disposizione per poter leggere i dati da un database e inserirli in un nostro contenitore personalizzato.
Spesso in applicazioni che hanno l'esigenza di gestire la concorrenza sull'accesso ai dati presenti nel database viene utilizzato un campo TimeStamp per verificare che la versione precedentemente prelevata non sia stata alterata da nessun'altra risorsa.
Proprio per questo motivo viene in genere utilizzato il campo TimeStamp, che varia ad ogni operazione che provochi un cambiamento nei dati presenti.
Le soluzioni possibili sono l'utilizzo del metodo GetBytes del DataReader, che comporta che l'utente conosca delle informazioni sui dati contenuti, oppure l'utilizzo del metodo GetSqlValue, più automatico, come mostra lo snippet seguente:
item.Concurrency = ((SqlBinary)dr.GetSqlValue(2)).Value;
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Utilizzare Docker Compose con Azure App Service
- Utilizzare QuickGrid di Blazor con Entity Framework
- Modernizzare le applicazioni WPF e Windows Forms con Blazor
- ASP 3 per esempi
- annunciato #netstandard 2.1. .NET Core lo supporterà a partire da #netcore3, così come le prossime versione di #xamarin, #mono e #unity.il supporto per #netfx 4.8, invece, non ci sarà. https://aspit.co/bq2
- Steel Style CheckBox per Silverlight 4.0