[英]Retrieving SQL Server database schema and objects and reflect in a .Net application
在.Net應用程序中將SQL Server數據庫架構及其所有對象反映出來的最簡單方法是什么?
基本上,我希望我的應用程序掃描數據庫架構並向我展示所有表和其他對象。 此外,我還應該能夠探索所有表列及其屬性(類型,約束等)。
我打算使用數據訪問應用程序塊來滿足我的數據訪問需求。 是否也符合上述規定?
您可以使用所需的任何數據訪問方法-您只需要在數據庫上運行正確的查詢即可。 本文似乎是您想要的一個很好的例子。
SQL Server提供了一些可以使用的系統視圖,例如sys.tables
列出所有表, sys.columns
所有列等。
MSDN有一個常見問題解答 。
盡管可以在SQL Server的元數據表上使用查詢,但是訪問此信息的最簡單方法是使用Sql Server管理對象(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);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.