У меня похожая ситуация, например this , где я хочу, чтобы пользователь прекратил редактировать поля (текстовые поля) в форме, которая связана с привязкой данных к столбцу базы данных, и этот столбец имеет ДинамическийМаскирование данных (DDM) применяется.
Я не хочу изменять каждую форму и делать поля доступными только для чтения, но вместо этого хочу, чтобы общая функция привязки обрабатывала это автоматически.
Таким образом, в основном функция привязки будет проверять, замаскировано поле или нет, и делать поле соответствующим только для чтения.
Я знаю нижеприведенный SQL-запрос, который возвращает замаскированное поле, которое можно использовать для построенияпользовательская функция.
SELECT tbl.name as table_name, c.name AS column_name, c.is_masked,
c.masking_function
FROM sys.masked_columns AS c
JOIN sys.tables AS tbl ON c.object_id = tbl.object_id
WHERE is_masked = 1;
Прежде чем сделать это, я хочу убедиться, что нет лучшего способа, чем этот.
Мне было интересно, существует ли что-то подобное, как показано ниже.
((DataTable)dataSource).Columns[dataMember].Ismasked