質問: お世話になります。 VisualStudioC#2015Expressにて、既存のSQLiteデータベースを フォームに張り付けたDataGridViewで表示したり、編集したり したいのですが、上手くいきません。当然、DataGridViewの内容を 変更すれば、コードで書かなくてもDBが変更される仕様です。 『データベースエクスプローラー』のツリーを右クリックして、『接続の追加』、 データソースの選択画面で、SQLiteが出てきません。 ↑こちらのサイト様をもとに試してみたのですが、どうやっても リストに表示されません。 そこで、当然結果は無事関連付けができるまでどうすれば良いのかが 知りたいのですが、ここまで面倒な手順をしなければできないものなのでしょうか。 また、実際に最後まで動かせたわけではないので、ここで選択できるように なった後で何をすればよいのでしょうか。 ちなみに、SQLiteのバージョン、インストーラーのバージョン、 対象のフレームワークなども確認済みです。 対策方法か、もっと簡単な方法がありましたらご教授ください。 よろしくお願いいたします。
回答: Visual Studioのデザイナーで使用するADO.NETのデータプロバイダーは`Machine.config`というPC単位の構成ファイルから参照されており、独自のプロバイダーを追加するためには該当アセンブリをGAC(グローバルアセンブリーキャッシュ)に登録したうえで、`Machine.config`に`DbDataProvider`を追加しなければなりません。 なのでインストーラーを使用してSQLiteプロバイダーを構成する必要がありますが、配布先のPCではSQLiteアセンブリがGACに登録されていない可能性が高いので実行用のライブラリをNuGetから取得しているのだと思います。 なのでリンク先の手順は必要があってやっています。 なおデザイナーに依存しないADO.NET直接使用やEFコードファーストなどの手法を使用する場合はNuGet参照だけでSQLiteを使用することもできます。