Я работаю над решением VSTO для Excel 2010 (выполняю код для рабочей книги Excel в Visual Studio 2010), и мне необходимо взаимодействовать с централизованным источником данных SQL Server 2008 R2 для операций чтения и записи.
База данных будет содержать до 15 000 строк в основной таблице плюс связанные строки. В идеале электронные таблицы заполняются из базы данных, используются асинхронно, а затем загружаются для обновления базы данных. Я обеспокоен производительностью вокруг объема данных.
Электронная таблица будет доступна для загрузки через веб-портал.
Я рассмотрел два решения:
Служба WCF, действующая в качестве слоя доступа к данным, который рабочая книга запрашивает в строке, чтобы заполнить свои таблицы всем необходимым набором данных. Изменения будут опубликованы в службе WCF после запуска обновлений из самой рабочей книги.
Предварительная загрузка рабочей книги с собственными данными в скрытые рабочие таблицы при загрузке с веб-портала. Изменения будут сохранены путем загрузки измененной рабочей книги через веб-портал.
Я не слишком беспокоюсь об оптимизации, пока у нас не заработает наша основная функциональность, но я не хочу останавливаться на каких-либо хороших вариантах с точки зрения архитектуры в будущем.
Я бы хотел избежать сценария, в котором мы должны выборочно работать с небольшими подмножествами данных за один раз, чтобы избежать замедлений -> интеграция такого рода поведения в электронную таблицу звучит как ненужная сложность.
Может быть, кто-то с большим опытом в этой области может порекомендовать подход, который не выстрелит нам в ногу?