「CSharp-SQLite」の版間の差分

提供:MonoBook
imported>Administrator
編集の要約なし
 
(他の1人の利用者による、間の1版が非表示)
17行目: 17行目:
== 使い方 ==
== 使い方 ==
=== インストール ===
=== インストール ===
若干古いが[[NuGet]]がある。
非公式の[[NuGet]]パッケージが存在している。
* https://www.nuget.org/packages/Community.CsharpSqlite.SQLiteClient/3.7.7.3
* https://www.nuget.org/packages/Community.CsharpSqlite.SQLiteClient/3.7.7.3


36行目: 36行目:
* http://code.google.com/p/csharp-sqlite/
* http://code.google.com/p/csharp-sqlite/


{{stub}}
[[category: .NET]]
[[category: SQLite]]

2025年5月13日 (火) 01:15時点における最新版

C#-SQLiteとは、C言語で書かれたSQLiteを、P/Invokeアンセーフコードを一切使用せずにC#で書き直したものである。

概要[編集 | ソースを編集]

C#-SQLiteは、プラットフォーム呼び出しアンセーフコードを一切使用していない。これによりMono派生プロジェクトやSilverlightなどのマネージドコードしか許されない環境においてもSQLiteを使うことができる。またC言語で書かれたSQLiteライブラリを同梱しP/Invokeで呼び出す方式ではひとつのビルドでマルチプラットフォーム対応することも非常に難しいものになる。

その一方で動作速度はマネージドコードであるためネイティブコードに大幅に劣ると考えられていた。実際に最初期のC#-SQLiteはオリジナルバージョンのSQLiteSystem.Data.SQLite)に比べ、約5倍も遅かった。

だが、ソースコードの最適化が進み、さらに.NET FrameworkJITコンパイラーも着実に進化したこともあり、2011年9月1日に実施されたベンチマークでは一部項目でC#-SQLiteがSQLiteの2倍程度の速度で動作するという逆転現象が発生するに至っている。[1]

注意[編集 | ソースを編集]

C#-SQLiteはSQLiteの公認版ではなく、SQLiteとは一切提携などはしていない。

また、SQLite由来のバグについてはC#-SQLiteプロジェクトではなく本家SQLiteプロジェクトに報告してほしいとしている。

当初SQLiteプロジェクトでは、名称に「SQLite」と含めることも認めていなかったが、後にその点だけは認めC#-SQLiteという名称に落ち着いている。

使い方[編集 | ソースを編集]

インストール[編集 | ソースを編集]

非公式のNuGetパッケージが存在している。

関連項目[編集 | ソースを編集]

類似

参考文献[編集 | ソースを編集]

外部リンク[編集 | ソースを編集]