PetaPoco через несколько баз данных - PullRequest
3 голосов
/ 10 ноября 2011

Не спрашивайте, почему, но есть четыре базы данных. Один из которых у меня есть права на изменение схемы. Давайте назовем это external . Опять же, это устаревшая сделка, но в одной из трех других баз данных содержится около 60 таблиц, называемых main . Каждая запись в этих таблицах имеет поле, которое связывает ее с записью в соответствующей таблице в external .

PetaPoco быстро справится с трудностями. В предварительном порядке я пробовал несколько файлов Database.tt для манипулирования всеми четырьмя базами данных. Есть ли лучший способ?

  1. Должен ли я создавать синонимы или представления в external , которые относятся к товарам в других базах данных? И затем использовать только один Database.tt на external ?
  2. Целесообразно ли комбинированное POCO для связанных таблиц?

1 Ответ

1 голос
/ 20 января 2012

Database.tt используется только для предварительного генерирования некоторого poco из вашей схемы. Я не могу поверить, что вы оставите это без изменений. Обычно я начинаю там и изменяю, чтобы сделать более разумным связывание (со свойствами сложных свойств для связанных таблиц)

Что касается запросов связанных таблиц, так как они должны выполняться в 1 запросе, таким образом, вы должны сохранять соединение только с 1 дБ, поэтому необходима связанная таблица. Но будьте осторожны с низкими характеристиками. Соединения между таблицами базы данных иногда могут быть в 10 раз медленнее, чем локальные объединения, в зависимости от sqls. Если вы вложили несколько перекрестных таблиц, лучше создать временную таблицу, чтобы избежать проблем с производительностью.

...