Я смотрю на этот урок , но он использует структуру сущностей.
поэтому мне интересно, могу ли я сделать то же самое с linq to sql, и если да, то как? Кажется, они используют эту функцию OnChaning, но я не знаю, есть ли у linq to sql.
Методы расширяемости для событий Changed / Changing для каждого свойства генерируются конструктором Linq to SQL. Вам просто нужно иметь частичную реализацию класса сущности, которая реализует методы extensibilty.
public partial class Entity { public partial void OnIDChanging( int value ) { ... some validation code... } }