Запись в одну базу данных при чтении из другой с помощью DevExpress XPO
-
22-07-2019 - |
Вопрос
Есть ли у кого-нибудь опыт работы с DevExpress'XPO в среде, где реплицируется база данных?От моего предыдущий вопрос здесь, как и в случае с serverfault, я думаю, было решено, что репликация - это правильный путь.
Тот Самый Документы MySQL скажите, что все записи должны происходить на главном сервере, а все чтения должны исходить от ведомого.Это имеет смысл, но теперь речь идет о настройке XPO для записи ведущему (удаленному), но чтения с ведомого (локального) устройства.
Я получил хорошую оценку ответ на форумах DevExpress рассказывается о том, как это можно было бы сделать, что я намерен попробовать, но мне интересно, делал ли это кто-нибудь, и какие-либо идеи / подводные камни / ссылки у них были бы.
Решение
Редактировать: поскольку вам не нравится первый подход.
вот несколько ссылок master-репликация master на случай, если вы их еще не видели.
http://forums.mysql.com/read.php?144 ,235807,235807
http://code.google.com/p/mysql-master-master/
http://www.mysqlperformanceblog.com/2007/04/05/mysql-master-master-replication-manager-released/
http://www.howtoforge.com/mysql_master_master_replication
Некоторые потенциальные статьи в Википедии.http://en.wikipedia.org/wiki/Replication_%28computer_science%29#Database_replication
http://en.wikipedia.org/wiki/Multi-master_replication
Решения для репликации Mysql (Кэшированная из Google, исходная ссылка теперь по какой-то причине недоступна)
Вы уже пробовали метод, предложенный на форуме DevExpress?Вот как бы я это сделал.
От Алиана Бисмарка Здесь
- Создать сессию
- Вызовите SessionA.Disconect() - установите ConnectionString в значение SessionA и вызовите SessionA.Connect()
- Создать сессию b
- Вызовите SessionB.Disconect() - установите ConnectionString в значение SessionB и вызовите SessionA.Connect()
- Загружайте объекты из сеанса, используя XPCollection auxL = new XPCollection(сессия)
- Создайте объекты SessionB, используя B b = new B(SessionB)
- Присвоить поля из объекта A объекту b 8 Сохранить объект b
этот подход хорошо работает с базовыми объектами, если у вас есть отношения и т.д., вам нужно разрешить ссылки на объекты в сеансе B, используя информацию об объектах сеанса A.