EF модель отображения нескольких баз данных - PullRequest
4 голосов
/ 10 февраля 2011

У меня есть модель в моем проекте, которая отображается на МНОЖЕСТВО представлений в моей базе данных, но мне нужно сопоставить с представлением в другой базе данных.

Как я могу это сделать? Нужно ли создавать другую модель? Я не хочу, но я буду, если придется.

Ответы [ 3 ]

3 голосов
/ 10 февраля 2011

Одна и та же модель не может получить данные из двух разных БД. Самый простой способ - создать представление в той же базе данных, которое вызывает и возвращает данные из другой базы данных, то есть представление абстракции, которое внутренне вызывает представление внешней БД.

2 голосов
/ 28 мая 2011

Если ваша база данных поддерживает синонимы, вы можете установить синоним к другой базе данных и объединить определение edmx с определением вашей первой базы данных. Я написал, как это сделать здесь

В основном вы получаете два файла edmx и скрипт, который объединяет их в рабочий файл edmx. Синонимы используются для ссылки на одну базу данных из другой без полного пути к базе данных.

0 голосов
/ 14 января 2016

Если вы используете подход, основанный на коде, в Entity Framework, здесь показано, как отобразить сущность EF в таблицу из другой базы данных:

SQL-скрипт, который необходимо запустить в вашей базе данных, чтобы создать синоним для таблицы издругая база данных:

CREATE SYNONYM OtherDatabaseTableSynonym FOR otherdatabase.dbo.otherdatabasetable

Отображение Entity Framework (Fluent API):

modelBuilder.Entity<OtherDatabaseTableEntity>().ToTable("OtherDatabaseTableSynonym").HasKey(x => x.id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...