Как изменить, какой файл SQLite использует subsonic?

#.net #sqlite #subsonic

#.net #sqlite #subsonic

Вопрос:

У меня есть приложение на C #, которое считывает базы данных SQLite на моем клиентском компьютере. При запуске приложения пользователю необходимо выбрать, какую базу данных использовать. Прямо сейчас в моем app.config есть следующее, чтобы настроить строку подключения:

 <connectionStrings>
    <add name="LasergameDB"
       connectionString="Data Source=lasergame.db"
       providerName="System.Data.SQLite"/>
  </connectionStrings>
  

И этот код настраивает мое подключение к базе данных:

 new SimpleRepository("LasergameDB", SimpleRepositoryOptions.RunMigrations);
  

Это работает нормально, но только для файла lasergame.db. Как было бы возможно, чтобы мои пользователи выбирали файл SQLite при запуске, а затем создавали подключение моей базы данных к этому файлу.

(Я использую subsonic 3.0.0.4 и .NET 3.5)

Ответ №1:

Это должно сработать:

 string connectionString = string.Format(@"Data Source={0}", mysqlitedbfilename);
string providerName = @"System.Data.SQLite";
var provider = ProviderFactory.GetProvider(connectionString, providerName);
lasergameRepo = new SimpleRepository(provider, SimpleRepositoryOptions.RunMigrations);
  

Конечно, mysqlitedbfilename следует заменить полный путь и имя файла используемой базы данных sqlite.