Код EF4 сначала создает строку подключения программно - PullRequest
0 голосов
/ 24 ноября 2011

Я успешно создаю базу данных (SQL Ce) с использованием подхода Entity Framework Code First (C # -WPF). Я пытаюсь смоделировать создание базы данных для каждого проекта. Это означает, что пользователь может открыть диалоговое окно файла, выбрать / создать нужную папку для проекта, а затем получить доступ к существующей или создать новую базу данных. Что приводит меня к вопросу, как я могу создать / прочитать файл подключения к базе данных для конкретного проекта.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings>
    <add name="NerdDinners"
         connectionString="Data Source=\Projects\NerdDinners.sdf"
         providerName="System.Data.SqlServerCe.4.0"/>
  </connectionStrings>
</configuration>

1 Ответ

1 голос
/ 24 ноября 2011

Строка подключения хранится в вашем app.config. При выполнении вашей программы WPF вы можете получить доступ только к текущему app.config исполняемой сборки. Поэтому по умолчанию нет способа открыть разные файлы app.config для каждого проекта.

Однако вы можете использовать OpenExeConfiguration , которая позволяет указать путь к файлу конфигурации.

Или вы можете сохранить несколько строк конфигурации в app.config исполняемого приложения и дать им разные имена. Используя SqlConnectionStringBuilder , вы можете управлять содержимым строки.

...