Zongsoft.Data.DuckDB
0.3.0
dotnet add package Zongsoft.Data.DuckDB --version 0.3.0
NuGet\Install-Package Zongsoft.Data.DuckDB -Version 0.3.0
<PackageReference Include="Zongsoft.Data.DuckDB" Version="0.3.0" />
<PackageVersion Include="Zongsoft.Data.DuckDB" Version="0.3.0" />
<PackageReference Include="Zongsoft.Data.DuckDB" />
paket add Zongsoft.Data.DuckDB --version 0.3.0
#r "nuget: Zongsoft.Data.DuckDB, 0.3.0"
#:package Zongsoft.Data.DuckDB@0.3.0
#addin nuget:?package=Zongsoft.Data.DuckDB&version=0.3.0
#tool nuget:?package=Zongsoft.Data.DuckDB&version=0.3.0
Zongsoft.Data.DuckDB Data Driver Plugin Library
Overview
Zongsoft.Data.DuckDB is a low-level data engine driver in the Zongsoft open-source framework. It provides access to DuckDB and is transparent to upper-layer applications; deploy this plugin library to the application plugin directory to enable it.
Importer Implementation
The DuckDB importer uses two writing strategies:
- For regular data types, it uses the DuckDB.NET Appender for bulk loading. The standard Appender requires values to match all physical table columns exactly in count, order, and type, while the Zongsoft data engine supports importing any selected subset of fields. The importer therefore creates a connection-local temporary table containing only the selected fields, bulk-appends the input rows to it, and then executes one
INSERT ... SELECTstatement to write them to the target table. This preserves field mapping and target-table defaults; whenIDataImportOptions.ConstraintIgnoredis enabled, the final statement usesINSERT OR IGNORE. - For database-specific custom types represented by
DbType.Object, the concrete DuckDB type cannot be determined safely at runtime for the Appender. The importer falls back to parameterized row-by-rowINSERTstatements so that DuckDB.NET can perform its normal parameter binding and conversion.
Both strategies enlist in the ambient Zongsoft data transaction by default. They use an independent connection when IDataImportOptions.TransactionSuppressed is true, when no ambient transaction exists, or when the driver does not support transactions. An independent connection uses an internal transaction to keep the current import batch atomic and roll a failed batch back completely.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- DuckDB.NET.Data.Full (>= 1.5.5)
- Zongsoft.Core (>= 7.55.0)
- Zongsoft.Data (>= 7.27.0)
-
net8.0
- DuckDB.NET.Data.Full (>= 1.5.5)
- Zongsoft.Core (>= 7.55.0)
- Zongsoft.Data (>= 7.27.0)
-
net9.0
- DuckDB.NET.Data.Full (>= 1.5.5)
- Zongsoft.Core (>= 7.55.0)
- Zongsoft.Data (>= 7.27.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.