Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
SQLite поддерживает загрузку расширений во время выполнения. Расширения включают дополнительные функции SQL, параметры сортировки, виртуальные таблицы и многое другое.
.NET включает дополнительную логику для поиска собственных библиотек в дополнительных местах, таких как ссылки на пакеты NuGet. К сожалению, SQLite не может использовать эту логику. SQLite напрямую вызывает API платформы для загрузки библиотек. Из-за этого может потребоваться изменить PATH
LD_LIBRARY_PATH
переменные среды или DYLD_LIBRARY_PATH
переменные среды перед загрузкой расширений SQLite. В GitHub есть пример, демонстрирующий поиск двоичных файлов для текущей среды выполнения в указанном пакете NuGet.
Чтобы загрузить расширение, вызовите метод LoadExtension. Microsoft.Data.Sqlite обеспечит загрузку расширения даже при закрытии и повторном открытии соединения.
// 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}");
Примечание.
Метод LoadExtension был добавлен в версию 3.0.