Хорошая идея - хранить эту логику внутри базы данных: именно поэтому существуют триггеры. Я говорю это осторожно, однако, поскольку есть много причин, чтобы держать это внешним. Часто - особенно с такой простой технологией, как LINQ-to-SQL - легче писать код извне. По моему опыту, больше людей могли бы написать эту логику в C # / LINQ, чем могли бы сделать это правильно, используя триггер.
Триггеры быстрые - они скомпилированы! Тем не менее, ими очень легко злоупотреблять, и они делают вашу логику слишком сложной, чтобы производительность могла быстро ухудшаться. Учитывая, насколько прост ваш вариант использования, Я бы предпочел использовать триггеры , но это я лично.