RepoDb.Firebird
0.0.1-alpha1
Prefix Reserved
dotnet add package RepoDb.Firebird --version 0.0.1-alpha1
NuGet\Install-Package RepoDb.Firebird -Version 0.0.1-alpha1
<PackageReference Include="RepoDb.Firebird" Version="0.0.1-alpha1" />
<PackageVersion Include="RepoDb.Firebird" Version="0.0.1-alpha1" />
<PackageReference Include="RepoDb.Firebird" />
paket add RepoDb.Firebird --version 0.0.1-alpha1
#r "nuget: RepoDb.Firebird, 0.0.1-alpha1"
#:package RepoDb.Firebird@0.0.1-alpha1
#addin nuget:?package=RepoDb.Firebird&version=0.0.1-alpha1&prerelease
#tool nuget:?package=RepoDb.Firebird&version=0.0.1-alpha1&prerelease
RepoDb.Firebird — RepoDB for Firebird
The Firebird provider for RepoDB — a fast, lightweight .NET ORM that lets you use raw SQL and fluent operations side by side on the same connection. Built on top of RepoDb and FirebirdSql.Data.FirebirdClient.
Important Pages
- GitHub Home — core library and source code.
- Website — full documentation, API reference, and blog.
Community
- GitHub Issues — bug reports and feature requests.
- Microsoft Teams — live Q&A.
- GitHub Discussions — ask questions and share ideas.
- X / Twitter — news and updates.
Dependencies
- FirebirdSql.Data.FirebirdClient — the Firebird ADO.NET data provider.
- RepoDb — the RepoDB core library.
Known limitations
- Targets Firebird 3.0 and later. Identity-column detection relies on
RDB$RELATION_FIELDS.RDB$IDENTITY_TYPE, which does not exist on Firebird 2.5 and earlier; tables using the pre-3.0 trigger + generator pattern for auto-increment will not be detected as identity columns. InsertAll/MergeAllalways execute one statement per row (batchSizeis effectively 1). Firebird's ADO.NET provider does not support executing multiple statements in a single round-trip, unlike SQL Server/MySQL/PostgreSql.Merge/MergeAllare implemented with Firebird's nativeUPDATE OR INSERT ... MATCHING (...)statement rather than an ANSIMERGE. When the identity column is also a qualifier (the common default case, since qualifiers default to the primary key), a plainUPDATE OR INSERTcan't tell "match this literal 0/null" apart from "auto-generate me" -Merge/MergeAllcompile to anEXECUTE BLOCKin that case, which branches at runtime between a plainINSERT(when the identity value is null/0, letting Firebird auto-generate it) and the ordinaryMATCHING-basedUPDATE OR INSERT(when a real identity value is supplied).- There is no session-wide "last identity" (no equivalent of
SCOPE_IDENTITY()/LAST_INSERT_ID()); the generated key is returned directly byInsert/Mergevia Firebird'sRETURNINGclause.
License
Apache-2.0 — Copyright © 2020 Michael Camara Pendon
Installation
Install-Package RepoDb.Firebird
Or visit the installation page for more options.
Get Started
Initialize the bootstrapper once at application startup:
GlobalConfiguration
.Setup()
.UseFirebird();
Then use any RepoDB operation directly on your FbConnection:
Query
using (var connection = new FbConnection(ConnectionString))
{
var customer = connection.Query<Customer>(c => c.Id == 10045);
}
Insert
var customer = new Customer
{
FirstName = "John",
LastName = "Doe",
IsActive = true
};
using (var connection = new FbConnection(ConnectionString))
{
var id = connection.Insert<Customer>(customer);
}
Update
using (var connection = new FbConnection(ConnectionString))
{
var customer = connection.Query<Customer>(10045);
customer.FirstName = "John";
customer.LastUpdatedUtc = DateTime.UtcNow;
var affectedRows = connection.Update<Customer>(customer);
}
Delete
using (var connection = new FbConnection(ConnectionString))
{
var customer = connection.Query<Customer>(10045);
var deletedCount = connection.Delete<Customer>(customer);
}
ExecuteQuery
using (var connection = new FbConnection(ConnectionString))
{
var customer = connection.ExecuteQuery<Customer>("SELECT * FROM \"Customer\" WHERE (\"Id\" = @Id)", new { Id = 10045 }).FirstOrDefault();
}
ExecuteNonQuery
using (var connection = new FbConnection(ConnectionString))
{
var affectedRows = connection.ExecuteNonQuery("UPDATE \"Customer\" SET \"FirstName\" = @FirstName WHERE (\"Id\" = @Id)", new { FirstName = "John", Id = 10045 });
}
ExecuteScalar
using (var connection = new FbConnection(ConnectionString))
{
var count = connection.ExecuteScalar<int>("SELECT COUNT(*) FROM \"Customer\"");
}
Visit the get-started page for the full Firebird guide.
License
Apache-2.0 — Copyright © 2020 Michael Camara Pendon
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- FirebirdSql.Data.FirebirdClient (>= 10.3.4)
- RepoDb (>= 1.16.0-beta3)
-
net10.0
- FirebirdSql.Data.FirebirdClient (>= 10.3.4)
- RepoDb (>= 1.16.0-beta3)
-
net8.0
- FirebirdSql.Data.FirebirdClient (>= 10.3.4)
- RepoDb (>= 1.16.0-beta3)
-
net9.0
- FirebirdSql.Data.FirebirdClient (>= 10.3.4)
- RepoDb (>= 1.16.0-beta3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on RepoDb.Firebird:
| Package | Downloads |
|---|---|
|
RepoDb.Firebird.BulkOperations
An extension library that contains the official Bulk Operations of RepoDB for Firebird. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.1-alpha1 | 0 | 8/27/2026 |