[英]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.