автоматизировать разные DLL для разных баз данных - PullRequest
1 голос
/ 05 апреля 2011

Я недавно начал создавать домен дома, используя nhibernate 3 и свободно говоря nhibernate в качестве своего ORM.Все в моем домене работает.

В настоящее время я хочу изучить возможность использования automapper для сопоставления различных библиотек в моем решении с различными базами данных.Мой "гугл-кунг-фу" обнаруживает небольшие и не связанные результаты с моим "исследованием".

Можно ли это сделать?Если бы это было сделано, что бы случилось с моими IQueryables, где мой запрос может содержать сущности, которые поступают из разных баз данных, которые не обязательно размещены на одном и том же экземпляре базы данных или на физическом компьютере?

Например, я хочуделать (строки подключения разные):

connectionstring1: Источник данных = myTestServerAddress; Начальный каталог = тест; Идентификатор пользователя = myTestUsername; Пароль = myTestPassword;

namespace test //in assembly test, connectionstring1
{
    public class test
    {
        public virtual int Id { get; set; }
        public virtual string testme { get; set; }
    }
}

connectionstring2: Источник данных= myTestTestServerAddress; Начальный каталог = TestTest; Идентификатор пользователя = myTestTestUsername; Пароль = myTestTestPassword;

namespace testtest //in assembly testtest, connectionstring2
{
    public class testtest
    {
        public virtual int Id { get; set; }
        public virtual test test { get; set; } //test is in different assembly
    }
}

1 Ответ

0 голосов
/ 19 мая 2011

Я не уверен, почему вы хотите, чтобы они находились в разных базах данных.Вы можете использовать sharding для балансировки нагрузки или (как сказал Коул W) сохранить только test_id в testtest, использовать 2 разные фабрики сессий и открыть сессию с первой, чтобы при необходимости получить тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...