从 C# 检索 SQL Server 扩展属性

Posted

技术标签:

【中文标题】从 C# 检索 SQL Server 扩展属性【英文标题】:Retrieving SQL Server Extended Properties From C# 【发布时间】:2009-11-30 21:14:07 【问题描述】:

我们通过创建表和列级别的描述扩展属性来记录我们的 SQL Server 数据库。我们通常通过 SSMS 输入这些。

我的问题是这样的。我正在创建一个 C# 应用程序,我想在其中读取特定表及其关联列的扩展属性。

有人可以告诉我如何去做吗?

谢谢 - 兰迪

【问题讨论】:

【参考方案1】:

您只需使用内置的fn_listextendedproperty 请求他们。该函数的结果是一个普通的表结果集,您可以使用您选择的数据访问工具(SqlCommand/SqlDataReader、linq、数据集等)在 C# 中读取它。

【讨论】:

【参考方案2】:

阅读此内容:Extract SQL Column Extended Properties From LINQ in C#,看看在您的情况下是否可以这样做。

【讨论】:

【参考方案3】:

简单属性的完整示例:

在 SQL Server 中:

代码:

        String strVersion;
        string cmd = "SELECT value  from sys.extended_properties where name = 'MinimumClientVersion'";
        using (var connection = new SqlConnection(connectionString))
        using (var comm = new SqlCommand(cmd, connection))
        
            connection.Open();
            strVersion = (string)comm.ExecuteScalar();
            connection.Close();
        
        Version MinimumVersion = new Version(strVersion);

【讨论】:

以上是关于从 C# 检索 SQL Server 扩展属性的主要内容,如果未能解决你的问题,请参考以下文章

C#编写dll进行sql server数据库扩展储存过程

C#编写dll进行sql server数据库扩展储存过程

Exchange Web 服务 - 如何使用 Account 扩展属性检索联系人

是否可以在 SQL Server 中查询空扩展属性?

使用 C# 和存储过程从 SQL Server 检索 VarChar(MAX)

C# 使用 SqlDataReader 从 SQL Server 检索数据到主详细信息列表