Compartir a través de


Extensiones

SQLite admite la carga de extensiones en tiempo de ejecución. Las extensiones incluyen elementos como funciones SQL adicionales, intercalaciones, tablas virtuales, etc.

.NET incluye lógica adicional para buscar bibliotecas nativas en lugares adicionales, como paquetes NuGet a los que se hace referencia. Desafortunadamente, SQLite no puede aprovechar esta lógica; llama directamente a la API de la plataforma para cargar las bibliotecas. Por este motivo, es posible que tenga que modificar las PATHvariables de entorno , LD_LIBRARY_PATHo DYLD_LIBRARY_PATH antes de cargar extensiones de SQLite. En GitHub hay un ejemplo en el que se muestra la búsqueda de archivos binarios para el tiempo de ejecución actual dentro de un paquete NuGet al que se hace referencia.

Para cargar una extensión, llame al método LoadExtension. Microsoft.Data.SQLite garantizará que la extensión permanece cargada incluso si la conexión se cierra y se vuelve a abrir.

// Load the SpatiaLite extension
connection.LoadExtension("mod_spatialite");

var command = connection.CreateCommand();
command.CommandText =
@"
    SELECT spatialite_version()
";
var version = (string)command.ExecuteScalar();

Console.WriteLine($"Using SpatiaLite {version}");

Nota

El método LoadExtension se incorporó en la versión 3.0.

Vea también