LINQ を Sqlite で動作させる方法を誰かが説明してくれませんか。
8 に答える
Joe Albahari の LINQPad が Sqlite をサポートするようになりました: http://www.linqpad.net/Beta.aspx。それらすべてを支配する 1 つの LINQ ツール。
CMS が提供するリンクが機能しなくなりました。SQL lite ADO .NETプロバイダーに組み込まれているように見えるので、私はこれを使用しました。
残念ながら、クラスを作成するためのVSのデザイナーモードはまだサポートされていません:(
また、SQL Server Compact は LINQ クラスのデザイン モードをサポートしていないことにも注意してください。ただし、エンティティ フレームワークを使用する場合、デザイナーは SQL lite および SQL Server コンパクトで機能します :)
いくつかの規定により、SqlLite で Linq to Sql を使用できることを追加したいと思います。
- Linq to Sql デザイナーを使用することはできません。つまり、クラスをハンドロールする必要があります。
- SqlLite でサポートされていない Sql コードになる特定の操作を行わないように注意する必要があります。
たとえば、次のような結果になるため、Linq クエリで FirstOrDefault() を使用することはできません。
select top 1 * from table where ...
SqlLite は「トップ 1」構文をサポートしていないため、ランタイム Sql エラーが発生します。
それ以外では、SqlLite で Linq to Sql を使用しており、基本的な CRUD 操作で大きな成功を収めています。
これを使用できます: http://code.google.com/p/dblinq2007。プロジェクトはまだアルファ段階にあるように見えますが、IMO は実際には非常に安定しています。もちろん、巨大なプロジェクトがある場合は、MySQL や SQL Compact などの他のものを使用することを検討することをお勧めします。SQL Server は肥大化しすぎて、SQL Compact や MySQL よりも多くの機能を提供しないため、好きではありません。
CMS で言及されているように、SqlLite Linq プロバイダーがあります。
SQLサーバーコンパクトをチェックしてください。Linqとうまく連携します
現時点では、これを行うための優れたツールはありません!
SQLite の LINQ プロバイダーはすべてアルファ段階にあります (例: dblinq2007 )。そして、それを商業目的で使用することは非常に大きなリスクです! なので、もしかしたら将来...
ADO.NET を使用したくない場合は、phxsoftware という良いものがあります。