LinqDataSource.StoreOriginalValuesInViewState Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta un valore che indica se i dati dell'origine dati devono essere archiviati in stato di visualizzazione per assicurarsi che non vengano modificati da un altro processo prima che siano aggiornati o eliminati.
public:
property bool StoreOriginalValuesInViewState { bool get(); void set(bool value); };
public bool StoreOriginalValuesInViewState { get; set; }
member this.StoreOriginalValuesInViewState : bool with get, set
Public Property StoreOriginalValuesInViewState As Boolean
Valore della proprietà
true
se i valori verranno archiviati in stato di visualizzazione; in caso contrario, false
. Il valore predefinito è true
.
Commenti
Per impostazione predefinita, quando sono state abilitate le operazioni di aggiornamento ed eliminazione, il LinqDataSource controllo archivia i valori originali per tutti i record nello stato di visualizzazione. Il LinqDataSource controllo archivia i valori per tutte le chiavi primarie e tutte le proprietà non contrassegnate con UpdateCheck.Never
nell'attributo Column
. Impostare la UpdateCheck
proprietà dell'attributo Column
in Progettazione O/R.
Prima di LINQ to SQL aggiorna o elimina i dati, controlla i valori in stato di visualizzazione rispetto ai valori correnti nell'origine dati. Se i valori non corrispondono, il record dell'origine dati è stato modificato. In tal caso, LINQ to SQL genera un'eccezione e non continua con l'operazione di aggiornamento o eliminazione. Per altre informazioni sulle LINQ to SQL, vedere LINQ to SQL.
L'archiviazione dei valori originali nello stato di visualizzazione può causare un'inutilmente grande dimensione della pagina e può esporre dati sensibili a un utente malintenzionato. È possibile disabilitare l'archiviazione dei valori nello stato di visualizzazione impostando la StoreOriginalValuesInViewState proprietà su false
. In questo caso, è necessario fornire il proprio modo per assicurarsi che i dati non siano stati modificati. Se si imposta la StoreOriginalValuesInViewState proprietà su false
, i valori originali non vengono salvati in modo permanente nello stato di visualizzazione per il controllo associato a dati. In tal caso, LINQ to SQL non può verificare l'integrità dei dati. LINQ to SQL genererà un'eccezione che indica un conflitto di dati anche se i dati nell'origine dati non sono stati effettivamente modificati.
Se l'origine dati sottostante contiene un campo timestamp che viene aggiornato automaticamente durante un aggiornamento, è possibile archiviare solo tale valore nello stato di visualizzazione. In tal caso, la proprietà timestamp nella classe di entità è impostata su IsVersion=true
e tutte le proprietà sono impostate su UpdateCheck.Never
. Poiché un campo timestamp viene aggiornato automaticamente dal database ogni volta che i dati in tale record vengono modificati, LINQ to SQL determina da tale valore se i dati sono stati modificati. Ciò consente di ridurre le dimensioni dello stato di visualizzazione e non vengono esposti dati sensibili. LINQ to SQL verificherà la coerenza dei dati confrontando il valore timestamp nello stato di visualizzazione con il valore timestamp nel database. Per altre informazioni, vedere Procedura dettagliata: Uso di un timestamp con il controllo LinqDataSource per controllare l'integrità dei dati.