Sdílet prostřednictvím


Vzájemná funkční spolupráce

Microsoft.Data.Sqlite používá SQLitePCLRaw k interakci s nativní knihovnou SQLite. SQLitePCLRaw poskytuje tenké rozhraní .NET API přes nativní rozhraní API SQLite. SqliteConnection a SqliteDataReader poskytněte přístup k základním objektům SQLitePCLRaw, které umožňují přímé volání těchto rozhraní API.

Následující příklad ukazuje, jak volat sqlite3_trace a zapsat spuštěné příkazy SQL do konzoly:

// Get the underlying sqlite3 object
var db = connection.Handle;
sqlite3_trace(
    db,
    (_, statement) => Console.WriteLine(statement),
    null);

Následující příklad ukazuje volání sqlite3_stmt_status , které ukazuje, kolik kroků virtuálního počítače SQLite zkompiloval příkaz SQL:

// 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}");

Objekty SQLitePCLRaw dokonce poskytují ukazatel na nativní objekty, který vám umožňuje P/Invoke dalších nativních rozhraní API SQLite.