C#.Net 内から SQLite を使用したいのですが、適切なライブラリが見つからないようです。ありますか?公式のもの?ラッパー以外に SQLite を使用する方法はありますか?
12 に答える
https://system.data.sqlite.orgから:
System.Data.SQLiteは、SQLite用のADO.NETアダプターです。
System.Data.SQLiteは、RobertSimpsonによって開始されました。Robertはまだこのリポジトリに対するコミット権限を持っていますが、アクティブな寄稿者ではなくなりました。現在、開発とメンテナンスの作業は主にSQLite開発チームによって行われています。SQLiteチームは、System.Data.SQLiteを長期的にサポートすることに取り組んでいます。
「System.Data.SQLiteは、元のSQLiteデータベースエンジンであり、完全なADO.NET 2.0プロバイダーがすべて単一の混合モードアセンブリに組み込まれています。これは、元のsqlite3.dllの完全なドロップイン置換です(名前を変更することもできます)。 sqlite3.dll)。通常の混合アセンブリとは異なり、.NETランタイムへのリンカーの依存関係がないため、.NETとは独立して配布できます。」
モノもサポートします。
次のオプションもあります: http://code.google.com/p/csharp-sqlite/ - C# への SQLite の完全な移植。
sqlite.org の人々が ADO.NET プロバイダーの開発を引き継ぎました。
彼らのホームページから:
これは、System.Data.SQLite として知られる SQLite 用の一般的な ADO.NET 4.0 アダプターのフォークです。System.Data.SQLite の創始者である Robert Simpson は、このフォークを認識しており、彼の承認を表明し、新しい Fossil リポジトリに対するコミット権限を持っています。SQLite 開発チームは、今後も System.Data.SQLite を維持する予定です。
2010 年 4 月以降、このバージョンへの更新はありませんが、歴史的なバージョンと元のサポート フォーラムは、まだ http://sqlite.phxsoftware.comで見つけることができます。
機能の完全なリストは、wiki にあります。ハイライトは次のとおりです
- ADO.NET 2.0 のサポート
- 完全なエンティティ フレームワークのサポート
- フルモノサポート
- Visual Studio 2005/2008 デザイン時のサポート
- コンパクト フレームワーク、C/C++ サポート
リリースされた DLL は、サイトから直接ダウンロードできます。
私は間違いなくSystem.Data.SQLiteを使用します (前述のとおり: http://sqlite.phxsoftware.com/ )
ADO.NET (System.Data.*) と一貫性があり、1 つの DLL にコンパイルされます。sqlite3.dll はありません - SQLite の C コードが System.Data.SQLite.dll に埋め込まれているためです。マネージ C++ マジックのビット。
sqlite-netは、.NET および Mono アプリケーションがSQLite 3 データベースにデータを保存できるようにするオープン ソースの最小限のライブラリです。詳細については、wiki ページを参照してください。
これは C# で書かれており、プロジェクトで簡単にコンパイルできるようになっています。最初は iPhone 上の MonoTouch で動作するように設計されましたが、すべてのプラットフォーム (Mono for Android、.NET、Silverlight、WP7、WinRT、Azure など) で動作するように成長しました。
これはNuget パッケージとして利用でき、2014 年の時点で 60,000 を超えるダウンロードがあり、2 番目に人気のある SQLite パッケージです。
sqlite-net は、すばやく便利なデータベース レイヤーとして設計されました。その設計は、次の目標に基づいています。
- 既存のプロジェクトや MonoTouch プロジェクトとの統合は非常に簡単です。
- SQLite の薄いラッパーであり、高速で効率的です。(ライブラリがクエリのパフォーマンスのボトルネックになるべきではありません。)
- (パラメーターを使用して) CRUD 操作とクエリを安全に実行し、それらのクエリの結果を厳密に型指定された方法で取得するための非常に単純なメソッド。
- クラスを強制的に変更することなく、データ モデルで動作します。(小さなリフレクション駆動の ORM レイヤーが含まれています。)
- コンパイルされた形式の sqlite2 ライブラリ以外の依存関係はありません。
非目標には次のものが含まれます。
- ADO.NET 実装ではありません。これは完全な SQLite ドライバーではありません。それが必要な場合は、System.Data.SQLite を使用してください。
Mono にはラッパーが付属しています。https://github.com/mono/mono/tree/master/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0は、実際の SQLite dll ( http://www.sqlite. org/sqlite-shell-win32-x86-3071300.zip (ダウンロード ページhttp://www.sqlite.org/download.html/にあります) を .net に適した方法でダウンロードします。Linux または Windows で動作します。
これは、サードパーティのライブラリへの依存を最小限に抑え、すべての世界の中で最も薄いようです. このプロジェクトを最初からやらなければならないとしたら、これが私のやり方です。
sqliteライブラリによって提供される関数の最低限のラッパー。最新バージョンは、sqliteライブラリ3.7.10で提供される関数をサポートしています
バージョン 1.2 の Monotouch には、System.Data のサポートが含まれています。詳細については、http : //monotouch.net/Documentation/System.Dataをご覧ください。
ただし、基本的には、SQLite で通常の ADO .NET パターンを使用できます。
http://www.devart.com/dotconnect/sqlite/
dotConnect for SQLite は、ADO.NET テクノロジに基づいて構築され、SQLite ベースのデータベース アプリケーションを開発するための完全なソリューションを提供する SQLite 用の拡張データ プロバイダーです。Devart データベース アプリケーション開発フレームワークの一部として、dotConnect for SQLite は、SQLite データベースへの高パフォーマンスのネイティブ接続と、多数の革新的な開発ツールおよびテクノロジの両方を提供します。
dotConnect for SQLite は、アプリケーション アーキテクチャを設計するための新しいアプローチを導入し、生産性を向上させ、データベース アプリケーションの実装を活用します。
私は標準バージョンを使用していますが、完璧に動作します:)