Поделиться через


Класс System.Data.DataSet

В этой статье приводятся дополнительные замечания к справочной документации по этому API.

Класс DataSet , который является кэшем данных, извлеченных из источника данных, является основным компонентом архитектуры ADO.NET. Состоит DataSet из коллекции DataTable объектов, которые можно связать друг с другом с DataRelation объектами. Вы также можете применить целостность данных в объекте DataSetUniqueConstraint и ForeignKeyConstraint объектах. Дополнительные сведения о работе с DataSet объектами см. в разделе DataSets, DataTables и DataViews.

DataTable В то время как объекты содержат данные, DataRelationCollection это позволяет перемещаться по иерархии таблиц. Таблицы содержатся в доступе DataTableCollectionTables через свойство. При доступе DataTable к объектам обратите внимание, что они являются условными регистрами. Например, если один DataTable называется mydatatable, а другой называется Mydatatable, строка, используемая для поиска одной из таблиц, считается конфиденциальной к регистру. Однако если "mydatatable" существует и "Mydatatable" нет, строка поиска считается нечувствительной к регистру. Дополнительные сведения о работе с DataTable объектами см. в разделе "Создание dataTable".

Можно DataSet считывать и записывать данные и схемы в виде XML-документов. Затем данные и схему можно передавать по протоколу HTTP и использовать любым приложением на любой платформе, которая включена в ФОРМАТЕ XML. Схему можно сохранить как XML-схему с WriteXmlSchema помощью метода, а схему и данные можно сохранить с помощью WriteXml метода. Чтобы прочитать XML-документ, включающий схему и данные, используйте ReadXml этот метод.

В типичной реализации с несколькими уровнями действия по созданию и обновлению DataSetисходного данных необходимо выполнить следующие действия.

  1. Создание и заполнение каждого DataTableDataSet из них данными из источника данных с помощью .DataAdapter

  2. Изменение данных в отдельных DataTable объектах путем добавления, обновления или удаления DataRow объектов.

  3. GetChanges Вызовите метод, чтобы создать вторуюDataSet, которая содержит только изменения данных.

  4. Update Вызовите метод методаDataAdapter, передаваемого вторым DataSet в качестве аргумента.

  5. Merge Вызовите метод, чтобы объединить изменения из второй DataSet в первую.

  6. AcceptChanges Вызовите объект в элементе DataSet. Кроме того, вызовите RejectChanges для отмены изменений.

Примечание.

DataTable Объекты DataSet наследуются от MarshalByValueComponentи поддерживают интерфейс для удаленного ISerializable взаимодействия. Это единственные объекты ADO.NET, которые разрешают удаленное взаимодействие.

Примечание.

Классы, унаследованные от DataSet сборщика мусора, не завершены, так как метод завершения был подавлен.DataSet Производный ReRegisterForFinalize класс может вызвать метод в конструкторе, чтобы разрешить завершению класса сборщиком мусора.

Вопросы безопасности

Сведения о безопасности DataSet и DataTable см . в руководстве по безопасности.