https://github.com/trabersoftware/unleasharp.db.duckdb
Lightweight DuckDB query-building client for C#
https://github.com/trabersoftware/unleasharp.db.duckdb
csharp database dotnet duckdb query-builder
Last synced: 9 months ago
JSON representation
Lightweight DuckDB query-building client for C#
- Host: GitHub
- URL: https://github.com/trabersoftware/unleasharp.db.duckdb
- Owner: TraberSoftware
- License: mit
- Created: 2025-09-14T18:45:48.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-10-02T07:27:26.000Z (9 months ago)
- Last Synced: 2025-10-02T08:46:17.363Z (9 months ago)
- Topics: csharp, database, dotnet, duckdb, query-builder
- Language: C#
- Homepage:
- Size: 91.8 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# 🦆 Unleasharp.DB.DuckDB
[](https://www.nuget.org/packages/Unleasharp.DB.DuckDB/)
[](https://trabersoftware.github.io/Unleasharp.DB.Base)
[](https://trabersoftware.github.io/Unleasharp.DB.Base/docs/)
[](https://trabersoftware.github.io/Unleasharp.DB.Base/docs/changelog/)
[](https://github.com/TraberSoftware/Unleasharp.DB.DuckDB)
DuckDB implementation of Unleasharp.DB.Base. This repository provides a DuckDB-specific implementation that leverages the base abstraction layer for common database operations.
## 📦 Installation
Install the NuGet package using one of the following methods:
### Package Manager Console
```powershell
Install-Package Unleasharp.DB.DuckDB
```
### .NET CLI
```bash
dotnet add package Unleasharp.DB.DuckDB
```
### PackageReference (Manual)
```xml
```
## 🎯 Features
- **DuckDB-Specific Query Rendering**: Custom query building and rendering tailored for DuckDB
- **Connection Management**: Robust connection handling through ConnectorManager
- **Query Builder Integration**: Seamless integration with the base QueryBuilder
- **Schema Definition Support**: Full support for table and column attributes
## 🚀 Kickstart
```csharp
var db = new ConnectorManager("Host=localhost;Database=unleasharp;Username=unleasharp;Password=unleasharp;")
var row = db.QueryBuilder().Build(query => query
.From()
.OrderBy(row => row.Id, OrderDirection.DESC)
.Limit(1)
.Select()
).FirstOrDefault();
```
## ⚠️ Disclaimer
DuckDB follows the PostgreSQL dialect. As of that, this project is an adaptation of Unleasharp.DB.PostgreSQL for DuckDB, it may not be ready for production use.
Even so, specific features like Query.CreateSequence() have been implemented to ensure compatibility with basic table creation with auto-incremental columns, as well as data insertion and selection.
## 📖 Documentation Resources
- 📚 **[GitHub Pages Documentation](https://trabersoftware.github.io/Unleasharp.DB.Base/docs/)** - Complete documentation
- 🎯 **[Getting Started Guide](https://trabersoftware.github.io/Unleasharp.DB.Base/docs/getting-started/)** - Quick start guide
- 📝 **[Changelog](https://trabersoftware.github.io/Unleasharp.DB.Base/docs/changelog/)** - New features and improvements
- 🦆 **[Unleasharp.DB DuckDB Documentation](https://trabersoftware.github.io/Unleasharp.DB.Base/docs/query-building/duckdb.html)** - Specific query builder documentation
## 📦 Dependencies
- [Unleasharp.DB.Base](https://github.com/TraberSoftware/Unleasharp.DB.Base) - Base abstraction layer
- [DuckDB.NET](https://github.com/Giorgi/DuckDB.NET) - Bindings and ADO.NET Provider for DuckDB
## 📋 Version Compatibility
This library targets .NET 6.0 and later versions. For specific version requirements, please check the package dependencies.
## 📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
---
*For more information about Unleasharp.DB.Base, visit: [Unleasharp.DB.Base](https://github.com/TraberSoftware/Unleasharp.DB.Base)*