LinqDataSource.StoreOriginalValuesInViewState Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, определяющее необходимость хранения данных из источника данных в состоянии просмотра для гарантии неизменности данных другим процессом перед их обновлением или удалением.
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
Значение свойства
Значение true
, если значения сохраняются в состоянии представления; в противном случае — значение false
. Значение по умолчанию — true
.
Комментарии
По умолчанию, если включены операции обновления и удаления, LinqDataSource элемент управления сохраняет исходные значения для всех записей в состоянии просмотра. Элемент LinqDataSource управления хранит значения для всех первичных ключей и всех свойств, не помеченных атрибутом UpdateCheck.Never
Column
. Свойство атрибута Column
задается UpdateCheck
в конструкторе объектов.
Перед тем как LINQ to SQL обновить или удалить данные, он проверяет значения в состоянии представления на соответствие текущим значениям в источнике данных. Если значения не совпадают, запись источника данных изменилась. В этом случае LINQ to SQL создает исключение и не продолжает операцию обновления или удаления. Дополнительные сведения о LINQ to SQL см. в разделе LINQ to SQL.
Хранение исходных значений в состоянии представления может привести к тому, что размер страницы станет неоправданно большим и может предоставить конфиденциальные данные злоумышленнику. Вы можете отключить хранение значений в состоянии представления, задав StoreOriginalValuesInViewState для свойства значение false
. В этом случае необходимо предоставить собственный способ убедиться, что данные не изменились. Если для свойства задано значение StoreOriginalValuesInViewStatefalse
, исходные значения не сохраняются в состоянии просмотра для элемента управления с привязкой к данным. В этом случае LINQ to SQL не сможет проверить целостность данных. LINQ to SQL вызовет исключение, указывающее на конфликт данных, даже если данные в источнике данных фактически не изменились.
Если базовый источник данных содержит поле метки времени, которое автоматически обновляется во время обновления, вы можете сохранить только это значение в состоянии просмотра. В этом случае свойству timestamp в классе сущностей присваивается значение IsVersion=true
, а всем свойствам присваивается значение UpdateCheck.Never
. Так как поле метки времени автоматически обновляется базой данных при каждом изменении данных в этой записи, LINQ to SQL определяет на основе этого значения, изменились ли данные. Это помогает уменьшить размер состояния представления, и конфиденциальные данные не предоставляются. LINQ to SQL проверит согласованность данных, сравнив значение метки времени в состоянии представления со значением метки времени в базе данных. Дополнительные сведения см. в разделе Пошаговое руководство. Использование метки времени с элементом управления LinqDataSource для проверки целостности данных.