Published on

May 29, 2018

Изучение метаданных SQL Server с помощью ADO.Net

Добро пожаловать в еще одну статью из нашей серии о работе с данными SQL Server в приложении .Net. В этой статье мы рассмотрим варианты работы с метаданными базы данных SQL Server с использованием фреймворка ADO.Net.

ADO.Net Framework – это набор объектов, который обеспечивает единый способ доступа к данным с использованием любого языка .Net, независимо от исходного формата данных. Это означает, что объекты ADO.Net могут работать с текстовыми файлами, XML и базами данных SQL Server и Oracle в качестве источников данных.

Существуют два объекта ADO, которые имеют методы для чтения метаданных источника данных: объект Connection и объект DataReader. Объекты SqlConnection и SqlDataReader – это версии, которые специально предназначены для подключения к базе данных SQL Server.

Чтобы прочитать информацию о схеме из базы данных SQL Server, вы можете использовать метод GetSchema() объекта SqlConnection. Этот метод возвращает объект DataTable, который содержит список коллекций доступной информации о схеме.

Еще один вариант чтения метаданных – это запрос System Views, Metadata Functions и Catalog Stored Procedures, которые доступны для любой базы данных SQL Server. Эти коллекции предоставляют подробную информацию о объектах базы данных и их свойствах.

Кроме того, существует инструмент под названием SqlMetal.exe, который считывает схему и генерирует модель объектов .Net на основе существующей базы данных SQL Server. Этот генератор кода запускается на этапе проектирования и позволяет ссылаться на объекты базы данных по имени в коде и с использованием LINQ.

Для демонстрации этих концепций я создал простое консольное приложение, которое извлекает метаданные базы данных SQL Server. Код для этого приложения вы можете найти в приложенном файле .zip.

В приложении я использую метод GetSchema() объекта SqlConnection для получения списка доступных коллекций метаданных в базе данных. Затем я использую цикл foreach для перебора столбцов DataTable и отображения их имен и типов данных.

Еще один метод доступа к метаданным – использование метода GetSchemaTable() объекта SqlDataReader. Этот метод возвращает объект DataTable, который содержит метаданные для столбцов данных, которые будут возвращены текущей командой T-SQL, назначенной объекту SqlCommand.

В заключение, работа с метаданными SQL Server в приложении .Net становится легкой с помощью фреймворка ADO.Net. Независимо от того, выберете ли вы использование метода GetSchema() объекта SqlConnection или метода GetSchemaTable() объекта SqlDataReader, у вас есть доступ к обширной информации о объектах базы данных и их свойствах.

Следите за следующей частью этой серии, где мы рассмотрим, как использовать информацию о схеме для создания объекта DataSet в коде, который реализует таблицы и отношения любой базы данных SQL Server, к которой вы можете подключиться.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.