Microsoft.Data.Sqlite では、 SQLitePCLRaw を使用してネイティブ SQLite ライブラリと対話します。
SQLitePCLRaw はネイティブ SQLite API に対して薄い .NET API を提供します。
SqliteConnection と SqliteDataReader 基になる SQLitePCLRaw オブジェクトへのアクセスを提供し、これらの API を直接呼び出します。
次の例では、sqlite3_trace を呼び出して、実行された SQL ステートメントをコンソールに書き込む方法を示します。
// Get the underlying sqlite3 object
var db = connection.Handle;
sqlite3_trace(
db,
(_, statement) => Console.WriteLine(statement),
null);
また、次の例では、sqlite3_stmt_status を呼び出して、SQL ステートメントでコンパイルされた SQLite 仮想マシンのステップの数を確認します。
// Get the underlying sqlite3_stmt object
var stmt = reader.Handle;
var steps = sqlite3_stmt_status(
stmt,
SQLITE_STMTSTATUS_VM_STEP,
resetFlg: 0);
Console.WriteLine($"VM operations: {steps}");
SQLitePCLRaw オブジェクトではネイティブ オブジェクトへのポインターも公開され、追加のネイティブ SQLite API を P/Invoke できます。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET