Конфликтующие классы данных есть ли обходной путь? - PullRequest
2 голосов
/ 14 февраля 2012

Я пытаюсь создать среду песочницы, используя две совпадающие базы данных на разных серверах.Я пытаюсь передать данные между ними, но только когда администратор дает «ОК».Теперь кодирование этого хорошо, у меня есть решение, как я собираюсь реализовать это, но я пытаюсь сделать так, чтобы у меня было два класса данных, оба ссылающихся на разные базы данных, но с соответствующими таблицами?

Когда я пытаюсьчтобы получить любую форму данных через LINQ, я получаю сообщение об ошибке, что элемент уже определен более одного раза.

Есть ли способ иметь соответствующие классы данных (но указывают на разные серверы),без необходимости менять имена таблиц?

1 Ответ

4 голосов
/ 14 февраля 2012

Если отображение между вашими классами и схемой базы данных точно одинаково для двух баз данных, вы можете иметь только один набор классов и просто инициализировать два контекста данных с помощью различных строк подключения для доступа к базам данных.

Вот пример использования LINQ to SQL:

var leftConnString = "Data Source=LeftServer;Initial Catalog=MyDatabase";
var rightConnString = "Data Source=RightServer;Initial Catalog=MyDatabase";

using (var leftContext = new DataContext(leftConnString))
{
    using (var rightContext = new DataContext(rightConnString))
    {
        // Retrieve entities from 'leftContext'
        // and persist them in 'rightContext'
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...