如何在.net中读取SQL服务器架构信息?

我如何在C#中知道数据库中的表列表。

每个表具有完整规范(如第一列)的列列表是Id,其数据类型为int(50)等

使用SqlConnection类的GetSchema方法:

DataTable t = _conn.GetSchema("Tables"); 

有关详细信息,请阅读MSDN文章检索数据库架构信息(ADO.NET) 。 请注意,这将为您提供结果,而无需编写或直接传递/执行任何SQL。

使用信息schem视图

http://msdn.microsoft.com/en-us/library/ms186778.aspx

这是“标准化的方式,与sys表相反,相当保证不会改变(而sys。*表是一个实现细节)。

我们以前使用SQL Server管理对象取得了很好的成功。 SMO允许您通过C#轻松地与SQL Server进行交互。 您只需要引用一些DLL并使用它们提供的对象模型。 例如,要列出表,可以使用foreach迭代Database.Tables -property。

Codeproject有一篇介绍基础知识的文章: http : //www.codeproject.com/KB/database/SMODemo.aspx