Пользовательские атрибуты C #, обращающиеся к базе данных - PullRequest
1 голос
/ 25 августа 2010

У меня есть собственный атрибут, который обращается к базе данных с помощью nhiberate. Атрибут фактически наследуется от CastleValidationAttribute Касла и используется для проверки свойств по регулярным выражениям. Проблема в том, что эти регулярные выражения управляются и хранятся в базе данных, и когда вы изменяете значения в базе данных, они не отражаются в атрибуте. По сути, атрибут только инициализируется и поэтому загружается из базы данных один раз. Есть ли способ обойти это?

Спасибо, Робин

Ответы [ 2 ]

0 голосов
/ 25 августа 2010

Атрибуты обычно ничего не делают. Они маркеры. Другой код должен использовать их для выполнения какой-либо операции на основе данных, используемых в атрибуте.

0 голосов
/ 25 августа 2010

В моей книге немного странно, когда атрибут выполняет операции с базой данных.Тем не менее, объект атрибута создается каждый раз, когда вы, например, вызываете GetCustomAttributes, поэтому, если атрибут выбирает данные как часть своей конструкции, он должен извлекать их всякий раз, когда атрибуты проверяются с использованием этого метода.

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