1

SQL Serverデータベーススキーマとそのすべてのオブジェクトを.Netアプリケーションに反映する最も簡単な方法は何ですか?

基本的に、アプリケーションでデータベーススキーマをスキャンし、すべてのテーブルとその他のオブジェクトを表示したいと思います。さらに、すべてのテーブル列とそのプロパティ(タイプ、制約など)も調べることができるはずです。

データアクセスのニーズにデータアクセスアプリケーションブロックを使用することを計画しています。上記の要件も満たしますか?

4

3 に答える 3

2

任意のデータアクセス方法を使用できます。データベースに対して適切なクエリを実行するだけです。この記事はあなたが望むものの良い例を持っているようです。

于 2011-04-01T06:58:22.857 に答える
2

SQL Server は、使用できるいくつかのシステム ビューを提供します。たとえばsys.tables、すべてのテーブル、sys.columnsすべての列などを一覧表示します。

MSDN にはFAQがあります。

于 2011-04-01T06:58:44.597 に答える
1

SQL Server のメタデータ テーブルに対してクエリを使用できますが、この情報にアクセスする最もクリーンな方法は、Sql Server Management Objects (SMO)を使用することです。

この例を使用するには、Microsoft.SqlServer.ConnectionInfo、Microsoft.SqlServer.Management.Sdk.Sfc、および Microsoft.SqlServer.Smo を参照してください。

using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;

   var sqlConnection = new SqlConnection(@"Data Source=(local);Integrated Security=SSPI");
    var server = new Server(new ServerConnection(sqlConnection));

    foreach (Database database in server.Databases)
    {
        foreach (Table table in database.Tables)
        {
            Console.WriteLine("{0}: {1}", database.Name, table.Name);       
        }
    }
于 2011-04-01T07:54:46.560 に答える