DbProviderFactory で SQLite を使えるようにする

アプリケーション構成ファイルに以下の内容を追記する

  <configSections>
    <section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
  </configSections>
  <system.data>
    <DbProviderFactories>
      <remove invariant="System.Data.SQLite"/>
      <add name="SQLite Data Provider"
           invariant="System.Data.SQLite"
           description=".Net Framework Data Provider for SQLite"
           type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite" />
    </DbProviderFactories>
  </system.data>
  <connectionStrings>
    <add name = "名前" connectionString = "SQLiteファイルへのパス" providerName = "System.Data.SQLite" />
  </connectionStrings>

システム共通(?)で使えるDbProviderFactoryのプロバイダは、machine.config*1に定義されている模様。App.configに定義して使うとアプリケーションドメイン内で、「machine.config+App.config:のプロバイダが使えるようになると思われる。

*1:%windir%\Microsoft.NET\Framework\バージョン\CONFIG\machine.config