をconnection.GetSchema
が、それはまた、減価償却されたDataTable
を返すよう伴うAsp.Netコアで償却されています。これを行う方法は、ExecuteReader()
関数を開いて、結果のリーダーオブジェクトからGetSchemaColumn()
関数を使用することです。ここで
はサンプルです:
public static void Main(string[] args)
{
using (SqlConnection connection = new SqlConnection("Server=(localdb)\\v11.0;Database=MyAdventureWorks;Trusted_Connection=True"))
{
connection.Open();
SqlCommand cmd = new SqlCommand("select * from [Person].[Person]", connection);
DbDataReader reader = cmd.ExecuteReader(System.Data.CommandBehavior.SchemaOnly);
if (reader.CanGetColumnSchema())
{
var columns = reader.GetColumnSchema();
foreach (var column in columns)
{
Console.Write("ColumName: " + column.ColumnName);
Console.Write(", DataTypeName: " + column.DataTypeName);
Console.Write(", ColumnSize: " + column.ColumnSize);
Console.WriteLine(", IsUnique: " + column.IsUnique);
}
}
else
throw new Exception("Connection does not support GetColumnSchema.");
}
Console.ReadLine();
}
注:私は、これはまだRc2とでstabalizedことだと思います。たとえば、column.IsKey関数は常にnullを返します。
.netコアでの手作り1.1。私はまだReader.GetSchemaTable()を見ることができ、Reader.GetColumnSchema()は見ることができません。物語は何ですか? – bbsimonbb
こんにちは。私はちょうど.netcoreapp 1.1を対象とし、System.Data.SqlClient 4.3を追加し、コードを貼り付けた新しいコンソールアプリケーションを作成しました。だから私はGetSchemaTable()を見ることができないのは不明です。 –
私はそれを見ることができますが、GetSchemaTable()はプロパティやメソッドを持たない[DataTable](https://docs.microsoft.com/en-us/dotnet/core/api/system.data.datatable)を返しますか? – bbsimonbb