Я вызываю обновление SPROC из моего DAL, передавая все (!) Поля таблицы в качестве параметров. Для самой большой таблицы это всего 78.
Я передаю все эти параметры, даже если возможно только одно значение изменилось.
Мне это кажется неэффективным, и я удивлялся, как это сделать лучше.
Я мог бы определить все параметры как необязательные и передать только те, которые были изменены, но мой DAL не знает, какие значения изменились, потому что я просто передаю ему модель - объект.
Я мог бы сделать выбор в таблице перед обновлением и сравнить значения, чтобы выяснить, какие из них изменились, но это, вероятно, также приводит к большим накладным расходам, также (?)
Я как бы застрял здесь ... Мне очень интересно, что вы об этом думаете.
edit: забыл упомянуть: я использую C # (Express Edition) с SQL 2008 (также Express). DAL, который я написал «сам» (используя эту статью).
Возможно, это не самый современный способ (начиная с 2006 года, так сказать, «pre-Linq», но Linq работает только для локальных экземпляров SQL в Express), но моей главной целью было изучение C #, поэтому я думаю, это не так уж плохо.