select [FullName] from [Customer]
where [CustomerId]=1Database tools for .NET
Work across databases
with less .NET plumbing.
Keep your SQL. DubUrl handles provider resolution,
dialect selection, and query execution.
// ConnectionString contains your database URL.
var db = new DatabaseUrl(ConnectionString);
var fullName = db.ReadScalarNonNull<string>(
new SelectFirstCustomer());One C# call. The SQL for your database.
select "FullName" from "Customer"
where "CustomerId"=1Embedded query resources are selected for the target dialect.
ResultNikola Tesla
A real example from our database QA suite. See the SelectFirstCustomer query class
Start in your .NET project
dotnet add package DubUrlConnect across your database stack
SQL Server
PostgreSQL
MySQL
SQLite
DuckDB
Snowflake
Oracle
DatabricksComing soon
Resolve providers
Pass a database URL. DubUrl resolves the configured ADO.NET provider and builds its connection string.
Make your first connectionChoose dialect-specific SQL
Keep SQL in embedded resources. DubUrl selects the query for your database dialect at runtime.
Explore the query APIRead results with less code
Read scalar values or stream rows through a consistent API, with less command and reader boilerplate.
Execute your first queryDefine schemas. Generate database-specific SQL.
Validate, render, and deploy schema documents with the DubUrl CLI.