Я думаю, что спрашивается, можете ли вы объединить таблицы из разных баз данных, а не разных провайдеров, в результате чего одна сущность сопоставляется с двумя или более таблицами или представлениями из разных баз данных .
Если вы подумаете об этом, при создании модели EDM с помощью Visual Studio она попросит вас указать существующую базу данных, а по завершении создания модели она создаст строку соединения EF, которая внутренне обращается к данному базовому соединению базы данных. строка.
Например: metadata = res: ///EFTestModel.csdl | res: ///EFTestModel.ssdl | res: ///EFTestModel.msl; provider = System. Data.SqlClient; строка подключения провайдера = "Источник данных =. \; Исходный каталог = EFTest; Интегрированная безопасность = True; MultipleActiveResultSets = True " *
Таким образом, каждая модель соответствует только базе данных, только строке подключения.
EF4 по-прежнему не поддерживает создание одной концептуальной модели, которая работает с N моделями хранения. По крайней мере, это не поддерживается ни одним встроенным провайдером. Возможно, в будущем это может быть сделано через нового провайдера, который объединяет поддержку множества хранилищ (от одного или разных провайдеров).
Я не провел достаточно исследований, но, возможно, Windows Server AppFabric (Codename Velocity) может быть мостом для преодоления этого пробела.
Примечание. Я попытался даже вручную отредактировать xml для EDM (edmx), чтобы вставить второй элемент в тег , но он не соответствует XML-схеме EDM, поэтому VS предупреждает об этом:
Ошибка 10021: обнаружен дублированный элемент схемы.
Рафа Ортега
MAP2010