Mendapatkan koleksi skema dan skema
Berlaku untuk: .NET Framework .NET .NET Standard
Kelas SqlConnection di Penyedia Data Microsoft SqlClient untuk SQL Server menerapkan metode GetSchema yang digunakan untuk mengambil informasi skema tentang database yang saat ini terhubung, dan informasi skema yang dikembalikan dari metode GetSchema hadir dalam bentuk DataTable. Metode GetSchema adalah metode kelebihan beban yang menyediakan parameter opsional untuk menentukan kumpulan skema yang akan dikembalikan, dan membatasi jumlah informasi yang dikembalikan.
Menentukan koleksi skema
Parameter opsional pertama dari metode GetSchema adalah nama koleksi yang ditetapkan sebagai string. Ada dua jenis kumpulan skema: kumpulan skema umum yang umum untuk semua penyedia, dan kumpulan skema khusus yang khusus untuk setiap penyedia.
Anda dapat mengkueri Penyedia Data Microsoft SqlClient untuk SQL Server untuk menentukan daftar koleksi skema yang didukung dengan memanggil metode GetSchema tanpa argumen, atau dengan nama koleksi skema "MetaDataCollections". Cara ini akan mengembalikan DataTable dengan daftar koleksi skema yang didukung, jumlah pembatasan yang saling didukung, serta jumlah bagian pengidentifikasi yang digunakan.
Mengambil contoh koleksi skema
Contoh berikut menunjukkan cara menggunakan GetSchema metode Penyedia Data Microsoft SqlClient untuk kelas SQL Server SqlConnection untuk mengambil informasi skema tentang semua tabel yang terkandung dalam database sampel AdventureWorks :
using System;
using System.Data;
using Microsoft.Data.SqlClient;
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source = localhost; Integrated Security = true; Initial Catalog = AdventureWorks";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
DataTable table = connection.GetSchema("Tables");
// Display the contents of the table.
DisplayData(table);
Console.WriteLine("Press any key to continue.");
Console.ReadKey();
}
}
private static void DisplayData(System.Data.DataTable table)
{
foreach (System.Data.DataRow row in table.Rows)
{
foreach (System.Data.DataColumn col in table.Columns)
{
Console.WriteLine("{0} = {1}", col.ColumnName, row[col]);
}
Console.WriteLine("============================");
}
}
}