Compartilhar via


Extensões

O SQLite dá suporte ao carregamento de extensões em runtime. As extensões incluem outras funções SQL, ordenações, tabelas virtuais e muito mais.

O .NET inclui lógica adicional para localizar bibliotecas nativas em locais adicionais, como pacotes NuGet referenciados. Infelizmente, o SQLite não pode aproveitar essa lógica; ele chama a API da plataforma diretamente para carregar bibliotecas. Por isso, talvez seja necessário modificar as variáveis , PATH, ou LD_LIBRARY_PATH de ambiente antes de carregar as DYLD_LIBRARY_PATHextensões SQLite. Há um exemplo no GitHub que demonstra a localização de binários para o runtime atual dentro de um pacote NuGet referenciado.

Para carregar uma extensão, chame o método LoadExtension. O Microsoft.Data.Sqlite garantirá que a extensão permaneça carregada mesmo que a conexão seja fechada e reaberta.

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

Observação

O método LoadExtension foi adicionado na versão 3.0.

Confira também