tabs ↹ over ␣ ␣ ␣ spaces

by Jiří {x2} Činčura

ADO.NET provider for Firebird is ready (with Entity Framework Core 5.0 support)

1 Apr 2021 2 mins .NET, C#, Databases in general, Entity Framework, Entity Framework Core, Entity SQL, Firebird, LINQ, SQL, Visual Studio

New version of ADO.NET provider for Firebird is ready for download. This release is a big one. Huge.

First some stats to back my claim of this release being huge. There has been 15622 additions and 11915 deletions over a projects with about 50 kLOC in total. Big thanks to B&MI for supporting me and hence transitively this release.

Two major themes make 8.0 version. The first one is complete non-blocking/async code paths and the other is Entity Framework Core 5.0 support.

I recommend using the XxxAsync methods whenever you care about performance, especially when running on .NET 5.0 or .NET Core 3.1. Also, where reasonable, the IAsyncDisposable is implemented. Together with that, proper CancellationToken handling is supported. When the CancellationToken is used in FbCommand and FbDataReader the cancellation is “explicit” (related reading), meaning the command running is cancelled on the server and the protocol state is consistent after cancellation and you can continue using the instances. Other classes, like FbConnection, leave the protocol or network in unknown state, thus continuing using these is likely not going to work.

Entity Framework Core 5.0 support should be pretty self-explanatory.

The major version is also expected to have some breaking changes and version 8.0 is no exception. Possible breaking changes are marked #breaking in the tracker.

Overview of all the changes can be found in tracker.

You can get the bits from NuGet FirebirdSql.Data.FirebirdClient, EntityFramework.Firebird and FirebirdSql.EntityFrameworkCore.Firebird.

Profile Picture Jiří Činčura is .NET, C# and Firebird expert. He focuses on data and business layers, language constructs, parallelism, databases and performance. For almost two decades he contributes to open-source, i.e. FirebirdClient. He works as a senior software engineer for Microsoft. Frequent speaker and blogger at