2014-02-12 3 views
0

У меня есть решение с 3 проектами. Консольный проект и два проекта библиотеки классов.Создание нескольких моделей данных сущности с настройками отдельных строк связи

Каждый проект класса имеет элемент EDM, добавленный с одним объектом.

Поэтому я использую подход Model First.

Каждый проект класса имеет свой собственный app.config с:

<connectionStrings> 
<add name="FilingDBContainer" connectionString="Data Source=TESTPC\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True;Pooling=False" /> 
</connectionStrings> 

<connectionStrings> 
<add name="ResponderDBContainer" connectionString="Data Source=TESTPC\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True;Pooling=False" /> 
</connectionStrings> 

В консоли проекта, который я могу запустить у меня есть этот код:

var fileContext = new FilingDBContainer(); 
var files = fileContext.FileSet; 
for (int i = 0; i < 10; i++) 
{ 
    files.Add(new File { Id = i + 1, Filename = "Test" + i }); 
} 

var responderContext = new ResponderDBContainer(); 
var responders = responderContext.ResponderSet; 
for (int i = 0; i < 10; i++) 
{ 
    responders.Add(new Responder { Id = i + 1, Respondername = "Test" + i }); 
} 

Когда первый файл добавляется я получаю исключение:

No connection string named 'FilingDBContainer' could be found in the application config file. 

Для меня кажется, что connectionString следует поместить в консоль proj ect, но я не хочу, чтобы строка put con была там. Каждый проект класса должен иметь свою собственную строку con!

Как я могу это сделать?

+0

Добро пожаловать в 1500 представителей! Имейте в виду, что теперь вы можете создавать теги. Это означает, что вам нужно быть особенно внимательным при вводе их, так как вы можете * случайно создать тег при создании опечатки. * Всегда * используйте список автозаполнения! – Charles

ответ

0

Консоль приложение должно иметь один файл конфигурации с этой записью:

<connectionStrings> 
<add name="FilingDBContainer" connectionString="Data Source=TESTPC\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True;Pooling=False" /> 
<add name="ResponderDBContainer" connectionString="Data Source=TESTPC\SQLEXPRESS;Initial Catalog=Test;Integrated Security=True;Pooling=False" /> 
</connectionStrings> 

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

0

Конечный исполняемый файл будет иметь свой собственный файл конфигурации. Конфигурация библиотек классов не используется. Добавьте .config для консольного приложения, которое контролирует среду библиотек, которые он потребляет.