在 SQL 服务器中创建时保存有关 table 列的元数据

Save Metadata about columns of a table when creating It in SQL Server

我正在创建一个从数据库

创建 POCO classes 的工具

我想要该工具将数据注释添加到我可以在 ErrorMessages 或我的 Views 和...

中使用的波斯语中创建的 class 属性

我想知道在使用 TSQL 在 sql 服务器中创建 table 时,是否有任何方法可以在 sys Tables or etc 中保存有关 table 列的元数据] 所以当我创建 table 时,我可以将它的波斯名称保存在某种元数据中,我可以使用 information_schema

等方式进一步检索这些元数据

为了更清楚,假设我有以下创建 table 的脚本:

create table dbo.Personnel
(
    ID      uniqueidentifier not null,
    Name    nvarchar(50)     not null
)

我想要的是存储关于 table 名称和列名称的元数据,这些名称将是他们在波斯语中的名称!

例如波斯语中的 Table 名称是:'کارکنان'

列名是:‘شناسه’和‘نام’

一个简单的方法是我创建一个我自己的 table 来存储所有 table 和列名及其对应的波斯语,并在创建后将元数据插入 table每个 table 并且在我的工具中我可以用 information_schema 加入他们!

但是

在进行此类自定义之前,我想知道 sql 服务器本身是否支持通过其自己的系统 tables 或我不知道的任何其他方式存储此类元数据的任何方式!

提前致谢

您可以为 table 和列。

EXEC sys.sp_addextendedproperty @name=N'PersianName', @value=N' ''کارکنان'' ' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Personnel'


EXEC sys.sp_addextendedproperty @name=N'PersianColumnName', @value=N' ''شناسه''' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'Personnel', @level2type=N'COLUMN',@level2name=N'Name'