LINQ 2 SQL имеет все необходимое для решения этой проблемы, если вы используете конструктор классов LINQ to SQL.
Допустим, в вашей таблице есть столбец «Число» типа Int32.
Дизайнер создаст:
Поле -> _Number
Недвижимость -> Номер
Метод -> OnNumberChanging (int value)
Метод -> OnNumberChanged ()
Последние 2 метода являются частичными. Это означает, что вам не нужно прикасаться к сгенерированным дизайнером файлам, если вы обновляете свои классы из базы данных.
Создав в другом файле следующее:
public partial class MyLinqToSqlClass
{
partial void OnNumberChanging(int value)
{
//your code here
//throw exception if necessary when validating
}
}
вы получаете то, что вам нужно.
Этот фрагмент кода вызывается внутри метода set свойства Number непосредственно перед изменением значения поля.
Таким образом, вы не будете беспокоиться об использовании метода set свойства.
Надеюсь, это поможет.