QuillでSQLiteを使ってみる

QuillSQLiteをアクセスしようと思い調べてみたが
Seasar.NETでは対応されているもののQuillでは未対応らしい。

ただ独自のプロバイダクラスを作成することで何とかなるようだ
http://s2container.net.seasar.org/ja/quill.html#nodicon_assembly

Seasarメーリングリストで問い合わせたら、すぐに回答いただきました、感謝です。
以下MLからの引用です。

1. http://sqlite.phxsoftware.com/ からSQLite.NETをダウンロードしてインストールする
2. Seasar.Extension.ADO.DataProviderを継承したクラスを作成する。
3. 2.で作成したクラスのコンストラクタの中でConnectionType 、CommandType、ParameterType、DataAdapterTypeプロパティにSQLite用のクラス名を名前空間付きで指定する。

public class SQLite: Seasar.Extension.ADO.DataProvider
   {
       public SQLite()
       {
           ConnectionType = "System.Data.SQLite.SQLiteConnection";
           CommandType = "System.Data.SQLite.SQLiteCommand";
           ParameterType = "System.Data.SQLite.SQLiteParameter";
           DataAdapterType = "System.Data.SQLite.SQLiteDataAdapter";
       }
   }

4. 設定ファイルのproviderセクションに2.で作成したクラス名を名前空間付きで指定する
5. 設定ファイルのassemblyセクションにSystem.Data.SQLiteを指定する

<configuration>
<quill>
    <assemblys>
      <assembly>Seasar.Quill</assembly>
      <assembly>Seasar.Dxo</assembly>
      <assembly>Seasar.DynamicProxy</assembly>
      <!-- SQLite.NET を使用する場合に必要です。 -->
      <assembly>System.Data.SQLite</assembly>
    </assemblys>
  <dataSources>
    <!-- SQLite -->
    <dataSource name="sqlite">
      <provider>xxx.xxxx.SQLite</provider>
      <connectionString>"Data Source=test.db;"</connectionString>
      <class>Seasar.Extension.Tx.Impl.TxDataSource</class>
    </dataSource>
  </dataSources>
 </quill>
</configuration>