DuckDbSharp

published on 2025/01/14

DuckDbSharp is a bidirectional interoperability layer between DuckDB and .NET.

Features

  • Support for deeply nested structures and lists
  • Expose .NET methods/collections as table UDFs, or as scalar functions
  • Execute DuckDB queries from .NET
  • Generates static types from SQL (incl. field nullness detection)
  • Dynamic results are supported as well (as dynamic assemblies/types)
  • Performance-oriented with minimal allocations
  • Support for both normal and [Flags] enums
  • Native AOT support
  • Pass .NET collections as SQL parameters (either as array or as table)
  • Results are streamed as IEnumerable<>
  • Write DuckDB loadable extensions in C# (work in progress)

DuckDbSharp