Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Microsoft.Data.Sqlite usa SQLitePCLRaw para interactuar con la biblioteca nativa de SQLite.
SQLitePCLRaw proporciona una API de .NET fina a través de la API de SQLite nativa.
SqliteConnection y SqliteDataReader proporcionan acceso a los objetos SQLitePCLRaw subyacentes que le permiten llamar directamente a estas API.
En el ejemplo siguiente se muestra cómo llamar a sqlite3_trace para escribir instrucciones SQL ejecutadas en la consola:
// Get the underlying sqlite3 object
var db = connection.Handle;
sqlite3_trace(
db,
(_, statement) => Console.WriteLine(statement),
null);
Y en el ejemplo siguiente se muestra la llamada a sqlite3_stmt_status para ver en cuántos pasos de máquina virtual de SQLite se ha compilado una instrucción 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}");
Los objetos SQLitePCLRaw incluso exponen un puntero a los objetos nativos que permiten invocar otras API de SQLite nativas.