На вашем месте я бы кешировал изменения.Затем через равные промежутки времени или когда вы кэшировали так много изменений, когда форма, содержащая сетку, закрывается (событие On / Closing), я фиксирую изменения.Или как насчет того, чтобы позволить пользователям обновить столько ячеек, сколько они хотят.Затем у вас есть одна кнопка отправки где-то в этой форме, и когда пользователь нажимает ее, вы фиксируете базу данных и закрываете форму или что-то еще.
Относительно linq, довольно похоже на создание запроса linq, который эмулируетлюбой оператор SQL, используемый для заполнения DataSet.Или рассмотрите возможность использования LINQ-to-SQL или Entity Framework, в зависимости от вашего проекта.