Строки подключения Linq-To-Entities для нескольких файлов EDMX - PullRequest
3 голосов
/ 17 декабря 2011

У меня есть проект библиотеки DAL net net 4.0 DAL, который содержит три файла edmx. Я решил разделить свою модель данных на три файла, потому что в моей базе данных много таблиц, и из того, что я прочитал здесь, в Stackoverflow, это показалось наилучшей практикой.

Но теперь у меня есть три записи строки подключения в моем App.config, которые в основном используют одно и то же подключение к базе данных. Могу ли я как-то вернуться к старому стилю ado.net, используя только одну строку подключения в моих файлах конфигурации?

Спасибо, Дженс

1 Ответ

1 голос
/ 17 декабря 2011

В вашем коде вы можете использовать EntityConnectionStringBuilder для создания трех отдельных строк подключения из «обычной» строки подключения, которая хранится в вашем файле конфигурации.

Вы получите что-то вроде:

string providerString = <load your connection string>;

// Initialize the EntityConnectionStringBuilder.
EntityConnectionStringBuilder entityBuilder =
    new EntityConnectionStringBuilder();

//Set the provider name.
entityBuilder.Provider = providerName;

// Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString;

// Set the Metadata location.
entityBuilder.Metadata = @"res://*/AdventureWorksModel.csdl|
                            res://*/AdventureWorksModel.ssdl|
                            res://*/AdventureWorksModel.msl";

Вы можете создать три EntityConnectionStrings и изменить свойство MetaData для каждого из них, чтобы оно указывало на вашу Модель.

Но имейте в виду, что это приведет к жестко закодированной части строки подключения в коде.

...