Извлечение схемы и объектов базы данных SQL Server и их отражение в приложении .Net - PullRequest
1 голос
/ 01 апреля 2011

Какой самый простой способ отобразить схему базы данных SQL Server со всеми ее объектами в приложении .Net?

По сути, я хотел бы, чтобы мое приложение сканировало схему базы данных и представляло мне все таблицы и другие объекты.,Кроме того, я должен иметь возможность изучить все столбцы таблицы и их свойства (тип, ограничения и т. Д.).

Я планирую использовать прикладной блок доступа к данным для своих нужд доступа к данным,Будет ли оно соответствовать вышеуказанному требованию?

Ответы [ 3 ]

2 голосов
/ 01 апреля 2011

SQL Server предоставляет некоторые системные представления, которые можно использовать, например, sys.tables перечисляет все таблицы, sys.columns все столбцы и т. Д.

MSDN имеет FAQ .

2 голосов
/ 01 апреля 2011

Вы можете использовать любой метод доступа к данным, который вам нужен - вам просто нужно выполнить нужные запросы к базе данных. Эта статья кажется хорошим примером того, что вы хотите.

1 голос
/ 01 апреля 2011

Хотя вы можете использовать запросы к таблицам метаданных 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);       
        }
    }
...