先日のエントリで、ADO.NET Entity Framework で SQLite データベースファイルを取り扱う需要について投稿した。
で、今回は実践。
結論としては、ADO.NET Entity Framework による SQLite データベースアクセスはバッチリ動作する。
以下、証拠写真集。
なお、ADO.NET Provider for the SQLite(System.Data.SQLite)および Visual Studio IDE 統合機能がすでにインストールしてあることが前提。
まずは Visual Studio 2008 Pro SP1 を起動し、プロジェクトを作成(または既存プロジェクトを開く)。
次に、SQLite のデータベースファイルを生成しつつ、Visual Studio IDE にデータベース接続を作成する。
Visual Studio のサーバーエクスプローラから、データベース接続の追加を開始。

既定のプロバイダによる「接続の追加」ダイアログが現れるので、データソースの [変更(C)...] をクリック。

データソースから SQLite のデータベースファイルを選択する。

改めて、SQLite のプロバイダで「接続の追加」ダイアログが現れる。

[New...]をクリックして新規に SQLite データベースファイルを作成してもよし、既存の SQLite データベースファイルを [Browse...] から選択してもよし。いずれの場合でも、直接フルパスを直入力してもかまわない。
以上でデータベース接続ができあがり。

続けてここからテーブル定義の作成や変更、「データの取得」メニューからの表形式 GUI でのレコードの参照/追加/変更/削除ができる。
詳しくは下記が大変参考になる。
「Visual Studio 2005 / Visual Studio 2008からSQLite3をつかう」
http://blogs.wankuma.com/hatsune/archive/2008/10/15/158833.aspx
(* 上記ブログエントリでは、「データの取得」では、参照しかできないとのことであったが、本稿投稿時点ではレコード追加/編集/削除も可能であった)
さてここからが実は本題、次は Entity Framework である。
プロジェクトに新規 ADO.NET Entity Data Model(.edmx) を追加し、モデルコンテンツの選択にて、[データベースから生成] を選んで次へと進むと、先ほどサーバーエクスプローラに追加した SQLite データベースファイルへの接続を選ぶことができる。

すると、ちゃんと SQLite データベースファイルを読み取って、モデルに含めるデータベースオブジェクトを選択できる。

最終的にはご覧のとおり、デザイナ画面にて表示される。

あとは LINQ to Entity などのデータアクセステクノロジを使って、自由に参照/追加/変更/削除が可能である。
もちろん、ASP.NET Dynamic Data でも問題なし。
また、ASP.NET Web アプリケーションの場合は、web.config ファイルに記述する接続文字列中、SQLite データベースファイルへのパスを、"|DataDirectory|" 置換文字列を含めて指定することもできた(つまりこの場合、SQLite データベースファイルは、App_Data フォルダ以下に配置する。なお、web.config の記述を直接テキストエディタで変更すること。.edmxのデザイナ画面からは変更できない。)。
なお、残念ながら Visual Web Developer Express 2008 SP1 では、サーバーエクスプローラやデータベースデザイナの機能制限から、上記の説明のとおりにはできないことがわかっている。
ほかの Express Edition もおそらく同様であろう。
2009/10/27 追記
Visual Web Developer 2008 Express でも、ADO.NET Provider for SQLite のデータベースデザイナ支援を機能させることに成功。
動作確認できたのは Pro Edition。Standard Edition は持ち合わせがないため、本エントリで示したような操作が可能かどうか不明である。