Что-то изменилось или оно все еще не поддерживает это? Например присоединиться database1.dbo.Users и database2.dbo.AddressesEntity framework 4 и несколько баз данных
ответ
Я думаю, что САИ спросил, если вы можете присоединиться к таблицам из разных баз данных, а не различных поставщиков, в результате чего один лица, отображенные на двух или более таблиц или виды из разных баз данных.
Если вы думаете об этом, когда вы создаете модель EDM с помощью Visual Studio, она просит предоставить существующую базу данных, и по завершении создания модели она генерирует строку подключения EF, которая внутренне адресует к данной базовой базе данных строка подключения.
например: метаданных = Рез: // /EFTestModel.csdl|res:// /EFTestModel.ssdl|res:// /EFTestModel.msl;provider=System.Data.SqlClient; соединение поставщик строка = "Источник данных = \;. Initial Catalog = EFTest; Integrated Security = True; MultipleActiveResultSets = True" *
Таким образом, каждая модель соответствует только базы данных, только строку подключения.
EF4 по-прежнему не поддерживает создание одной концептуальной модели, которая работает с N моделями хранения. По крайней мере, это не поддерживается никаким встроенным провайдером. Возможно, в будущем это может быть сделано через нового провайдера, который объединяет поддержку многих хранилищ (от тех же поставщиков или разных).
Я не сделал достаточного исследования, но, возможно, Windows Server AppFabric (Codename Velocity) может быть мостом, чтобы пройти через этот пробел.
Примечание: Я пытался даже редактирования вручную XML-для EDM (EDMX), чтобы вставить второй элемент внутри < EDMX: StorageModels > тег, но это не соответствует EDM XML Schema так VS предупреждает об этом: Ошибка 10021: обнаружен элемент дублированной схемы.
Rafa Ortega MAP2010
См ответ на аналогичный вопрос:
Entity Framework - Inserting entity with multiple models and databases
Я на самом деле найти способ сделать пролетные EF модели нескольких баз данных, если база данных поддерживают синонимы. В основном вы настраиваете синонимы в Database2 на Database1, создаете отдельные модели edmx для каждого, затем объединяете XML
Я отправил точные шаги, чтобы сделать файл edmx для нескольких баз данных here, если вам интересно, а также скрипт слияние для вас всякий раз, когда что-то меняется.
У вас не возникло проблем в долгосрочной перспективе? Это полностью совместимо? –
Отличная ссылка. Очень изобретательно. –
@ LuisFilipe Проект, который я сделал для этого, действительно отменен, поэтому у меня не было возможности полностью проверить все. Из того, что я получил возможность испытать, единственными реальными ограничениями были все ограничения для синонимов. Например, если ваш Синоним указывает на другой сервер, вы ограничены тем, какие правила SQL предназначены для доступа к связанным серверам. – Rachel