используйте код EF4.1 First DbContext с 2 строками подключения - PullRequest
0 голосов
/ 05 мая 2011

возможно ли иметь один DbContext с 2 строками подключения?

вот что у меня есть:

// this is from Db1
public class Log
{
   public virtual Court Court {get;set;}
   public Guid CourtId {get;set;}
   public DateTime Date{get;set;}
}

// this is from Db2 (different connection string)
public class Court
{
   public Guid Id {get;set;}
   public string Name {get;set;}
}

это выполнимо?

Ответы [ 3 ]

4 голосов
/ 06 мая 2011

Если вы хотите иметь две строки подключения к разным базам данных (содержащие разные таблицы), вы должны иметь два разных контекста, содержащих их собственные отображения.Это верно как для ObjectContext API, так и для DbContext API - это разработано.Единственный поддерживаемый сценарий - две строки подключения, две одинаковые базы данных на одном сервере базы данных (поставщик базы данных).В таком случае вы можете передать строку подключения в конструктор контекста при его создании.Даже в этом сценарии нельзя иметь один экземпляр контекста, работающий с двумя подключениями к базе данных.

1 голос
/ 05 мая 2011

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

1 голос
/ 05 мая 2011

Я так не думаю.Нет, Хосе.Это просто не имеет смысла.

...