Quickstart
A real query today, through Dapper over IDbConnection:
using H2Sharp.Data;
using IDbConnection con = new H2Connection("jdbc:h2:mem:demo");
con.Open();
con.Execute("CREATE TABLE PERSON(ID INT PRIMARY KEY, NAME VARCHAR)");
con.Execute("INSERT INTO PERSON VALUES(@Id, @Name)", new { Id = 1, Name = "Ada" });
var rows = con.Query<Person>("SELECT * FROM PERSON");Build and test the port:
dotnet build H2Sharp.sln
dotnet test
NuGet — the package builds and is signed; publishing comes later:
# the package exists and packs; it is not on nuget.org yet
dotnet add package H2Sharp --prereleaseSQL reference, pinned to the ported version
The original lives on h2database.com and moves on. We keep a snapshot at commit 27c5170 (H2 2.5.x, October 2026) in our own design — with a link to the original and H2 Group attribution.
.NET API
The ADO.NET layer works and is gated by an inherited conformance suite plus a green Dapper flow. The ORM layers come after it. No invented signatures — every section reflects what is in the repository.
System.Data available
H2Connection, H2Command, H2Parameter, H2DataReader, H2Transaction, H2DataAdapter, H2ProviderFactory. Transactions work.
Reference →Dapper works today
End-to-end over IDbConnection: open, create, insert, update, select, delete, transactions.
Native API planned
Direct engine access. The engine executes real queries now; a public surface is not promised yet.
Stub →EF Core in progress
Its own repository: a fork of EFCore.PG with H2's surface. 1034 inherited EF Core tests pass, none red.
Details →linq2db in progress
Its own repository, written from scratch against linq2db's public API. Query, insert, filter and order work.
Details →Where we are
Read from the repositories themselves, since docs/ROADMAP.md still lags the code. Honestly: the engine executes real queries, the built-in function layer is ported, the catalogue is ported, the ADO.NET provider is 293/293 on its conformance suite — and two provider projects are already running alongside it. Constraints, JOIN and the rest of the grammar are the open work.