.NET 操作 Duckdb

说明

DuckDB 是一个轻量级、高性能的单机分析型数据库(OLAP),专为高效数据查询而设计。它以嵌入式形式运行,无需服务器,支持标准 SQL,并兼容 Pandas、R 等工具。其列式存储与向量化引擎大幅提升分析速度,适合处理 CSV、Parquet 等文件或内存数据。类似 SQLite 的简单部署,但针对分析优化,适用于数据科学、本地分析等场景。开源且跨平台,平衡了易用性与性能。

NUGET安装

SqlSugarCore
SqlSugar.DuckDBCore

创建DB

  //注册DLL防止找不到DLL
  InstanceFactory.CustomAssemblies = new System.Reflection.Assembly[] {
  typeof(SqlSugar.DuckDB.DuckDBProvider).Assembly };

  //创建DB
  var db = new SqlSugarClient(new ConnectionConfig()
  {
      IsAutoCloseConnection = true,
      DbType = DbType.DuckDB,
      ConnectionString = "DataSource = train_services.db",
      LanguageType = LanguageType.Default//Set language

  },
  it =>
  {
      // Logging SQL statements and parameters before execution
      // 在执行前记录 SQL 语句和参数
      it.Aop.OnLogExecuting = (sql, para) =>
      {
          Console.WriteLine(UtilMethods.GetNativeSql(sql, para));
      };
  });
  return db;

源码有DEMO

image.png


关闭
果糖网