如何通过 DacFx 获取 table 对象的 SSDT 扩展 属性 值
How can I get the SSDT Extended Property values of a table object via DacFx
我想检索我的 SSDT 表和列的扩展 属性 的值,这样我就可以将它用于我正在使用 T4 进行的一些模型生成工作。
我在网上找不到任何这样的例子,有没有其他人这样做过?
这些是您可以添加的扩展属性:
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value =
N'somepropertytext', @level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'table_name', @level2type =
N'COLUMN', @level2name = N'column_name';
在我加载列信息的 T4 模板中,我有这个:
var property = column.GetProperty<string>(???);
我不确定 ???部分以获得此扩展 属性 信息。有什么想法吗?
我能够获取有关该列的其他属性,例如可空性、精度等。
关于此的 MS 文档有点......缺乏。
扩展 属性 不是列的 属性,它是相反的,即列是扩展 属性 所指的内容!
var propertyName = column.GetReferencing()
.Where(x=> x.ObjectType.Name == "ExtendedProperty").First()
.Name.ToString();
var propertyValue = column.GetReferencing()
.Where(x=> x.ObjectType.Name == "ExtendedProperty").First()
.GetProperty(ExtendedProperty.Value);
扩展此方法链接混乱以遍历对象的 所有 扩展属性留作 reader...
的练习
我想检索我的 SSDT 表和列的扩展 属性 的值,这样我就可以将它用于我正在使用 T4 进行的一些模型生成工作。
我在网上找不到任何这样的例子,有没有其他人这样做过?
这些是您可以添加的扩展属性:
GO
EXECUTE sp_addextendedproperty @name = N'MS_Description', @value =
N'somepropertytext', @level0type = N'SCHEMA', @level0name = N'dbo',
@level1type = N'TABLE', @level1name = N'table_name', @level2type =
N'COLUMN', @level2name = N'column_name';
在我加载列信息的 T4 模板中,我有这个:
var property = column.GetProperty<string>(???);
我不确定 ???部分以获得此扩展 属性 信息。有什么想法吗?
我能够获取有关该列的其他属性,例如可空性、精度等。
关于此的 MS 文档有点......缺乏。
扩展 属性 不是列的 属性,它是相反的,即列是扩展 属性 所指的内容!
var propertyName = column.GetReferencing()
.Where(x=> x.ObjectType.Name == "ExtendedProperty").First()
.Name.ToString();
var propertyValue = column.GetReferencing()
.Where(x=> x.ObjectType.Name == "ExtendedProperty").First()
.GetProperty(ExtendedProperty.Value);
扩展此方法链接混乱以遍历对象的 所有 扩展属性留作 reader...
的练习