SQLite 支援執行時載入擴充功能。 延伸模組包含像是其他 SQL 函式、定序、虛擬資料表等事項。
.NET 包含可在其他位置尋找原生連結庫的其他邏輯,例如參考的 NuGet 套件。 可惜的是,SQLite 無法利用此邏輯;它會直接呼叫平台 API 以載入程式庫。 因此,您可能需要在載入 SQLite 擴充功能之前修改 PATH、 LD_LIBRARY_PATH或 DYLD_LIBRARY_PATH 環境變數。 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 版。