LinqDataSource.StoreOriginalValuesInViewState Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett värde som anger om data från datakällan ska lagras i visningstillstånd för att se till att data inte har ändrats av en annan process innan de uppdateras eller tas bort.
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
Egenskapsvärde
trueom värdena kommer att lagras i visningstillstånd; annars . false Standardvärdet är true.
Kommentarer
När uppdaterings- och borttagningsåtgärder har aktiverats LinqDataSource lagrar kontrollen som standard de ursprungliga värdena för alla poster i visningstillstånd. Kontrollen LinqDataSource lagrar värden för alla primära nycklar och alla egenskaper som inte har markerats med UpdateCheck.Never i attributet Column . Du anger egenskapen för UpdateCheckColumn attributet i O/R Designer.
Innan LINQ till SQL uppdaterar eller tar bort data kontrollerar den värdena i visningstillståndet mot de aktuella värdena i datakällan. Om värdena inte matchar har datakällans post ändrats. I så fall genererar LINQ till SQL ett undantag och fortsätter inte med uppdaterings- eller borttagningsåtgärden. Mer information om LINQ till SQL finns i LINQ till SQL.
Om du lagrar de ursprungliga värdena i visningstillstånd kan sidstorleken bli onödigt stor och exponera känsliga data för en obehörig användare. Du kan inaktivera lagring av värden i visningstillstånd genom att ange StoreOriginalValuesInViewState egenskapen till false. Om du gör det måste du ange ett eget sätt att se till att data inte har ändrats. Om du anger StoreOriginalValuesInViewState egenskapen till falsesparas inte de ursprungliga värdena i visningstillståndet för den databundna kontrollen. I så fall kan LINQ till SQL inte verifiera dataintegriteten. LINQ till SQL utlöser ett undantag som indikerar en datakonflikt även om data i datakällan inte har ändrats.
Om den underliggande datakällan innehåller ett tidsstämpelfält som uppdateras automatiskt under en uppdatering kan du bara lagra det värdet i visningstillstånd. I så fall är tidsstämpelegenskapen i entitetsklassen inställd på IsVersion=true och alla egenskaper är inställda på UpdateCheck.Never. Eftersom ett tidsstämpelfält uppdateras automatiskt av databasen varje gång data i posten ändras, avgör LINQ till SQL från det värdet om data har ändrats. Detta hjälper till att minska storleken på visningstillståndet och inga känsliga data exponeras. LINQ till SQL söker efter datakonsekvens genom att jämföra tidsstämpelvärdet i visningstillståndet med tidsstämpelvärdet i databasen. Mer information finns i Genomgång: Använda en tidsstämpel med LinqDataSource-kontrollen för att kontrollera dataintegriteten.