Может быть, это просто глупая идея, поэтому я добавляю ее сюда:
Я создаю приложение, используя одну базу данных для базовых и текущих данных (клиенты, статьи, инвентарь, открытые счета-фактуры, ...) и одну базу данных в год для архивных данных (старые счета-фактуры, перемещение запасов, ...) .
Есть только одна неприятная маленькая проблема: MSDTC. Большинство транзакций касаются только одной базы данных, но некоторые касаются текущей базы данных и одного архивного года. Поскольку все базы данных находятся на одном сервере, это может быть простая транзакция между двумя базами данных.
Однако, Linq для сущностей вынуждает меня создать отдельное соединение для каждой базы данных, и здесь запускается MSDTC, требуя a) быть установленным и b) замедляет все это.
Досадно!
Нет ли способа заставить две модели структуры сущностей ADO.Net использовать одно и то же соединение, каждая из которых имеет свою текущую базу данных?
Я уже пытался указать базу данных в схеме EF, но EF не нравится и блокирует ее.
Очень раздражает. Может быть, я просто должен переместить все таблицы в одну базу данных, но позже это будет проблемой при попытке разделить данные для резервного копирования и ускорения.