nyc*_*dan 3 .net extended-properties sql-server-2008 c#-4.0
我正在为客户的数据库编写一个简单的CMS.有12个表,他们需要管理其中4个表中的所有数据.
我设置了一个动态数据项目(Linq-to-SQL,因为这是我最熟悉的),第一页使所有12个表可用于编辑.它们位于名为visibleTables的可枚举列表中.
接下来,我进入SSMS并创建了一个名为UserEdit的扩展属性,并将其设置为0或1,具体取决于用户是否应在该屏幕上看到它.
我想要做的是通过扩展属性过滤visibleTables列表但不知道如何.
我能够通过此查询查看表和属性列表:
select major_id, name, value
from sys.extended_properties
where name = 'UserEdit'
Run Code Online (Sandbox Code Playgroud)
我是通过visibleTables要循环并删除与0的那些,但我还没有想通了这一点无论是尚未为major_id似乎并没有成为一个属性,我可以找到.
好吧,根据http://msdn.microsoft.com/en-us/library/ms177541.aspx,您的扩展属性类(OBJECT_OR_COLUMN)的"major_id"实际上表示"object_id".因此,以下查询将为您提供所有扩展属性及其所属的表:
select p.*, t.*
from sys.extended_properties p
inner join sys.tables t on p.major_id = t.object_id
where class = 1
Run Code Online (Sandbox Code Playgroud)
您可以根据需要过滤它,但如果您需要帮助,请告诉我.
| 归档时间: |
|
| 查看次数: |
10492 次 |
| 最近记录: |