Как ссылаться на поле описания столбца SQL через DBML? - PullRequest
0 голосов
/ 21 мая 2010

Я бы хотел, чтобы свойство описания столбца SQL содержало понятное имя столбца для отображения пользователям. Есть ли способ, которым я могу ссылаться на это свойство столбца через DBML?

Обновление: в итоге мы написали метод c #, который вставляет пробел в строку с верблюдом и переименовывает столбцы БД, чтобы сделать их более удобными.

Ответы [ 3 ]

1 голос
/ 21 мая 2010

Нет, насколько мне известно, ни sqlmetal, ни конструктор dbml не читают расширенные свойства , в которых хранится описание столбца SQL. Возможно, стоит поискать сторонние генераторы кода для linq-to-sql, которые предоставляют больше функциональности.

0 голосов
/ 22 мая 2010

Я ничего не знаю, чтобы сделать это в DBML, но можно извлечь эту информацию самостоятельно и как-то присоединиться к ней:

SELECT  C.TABLE_SCHEMA
       ,C.TABLE_NAME
       ,C.COLUMN_NAME
       ,COALESCE(xp.value, C.COLUMN_NAME) AS FriendlyName
FROM    INFORMATION_SCHEMA.COLUMNS C
INNER JOIN INFORMATION_SCHEMA.TABLES T
        ON T.TABLE_CATALOG = C.TABLE_CATALOG
           AND T.TABLE_SCHEMA = C.TABLE_SCHEMA
           AND T.TABLE_NAME = C.TABLE_NAME
           AND T.TABLE_TYPE = 'BASE TABLE'
OUTER APPLY FN_LISTEXTENDEDPROPERTY('MS_Description'
                                    ,'SCHEMA', C.TABLE_SCHEMA
                                    ,'TABLE', T.TABLE_NAME
                                    ,'COLUMN', C.COLUMN_NAME) AS xp

Расширенные свойства могут быть прикреплены только к столбцам базовой таблицы.

0 голосов
/ 22 мая 2010

Вы можете написать хранимую процедуру, которая возвращает эти данные, и представить их в своем классе текстовых данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...