🔥 ❗ Warning ! This project is temporary and will be merged with the FirebirdSql reposit to merge our efforts and finally see this provider integrated in the official FirebirdSQL organisation in a few weeks.
SouchProd.EntityFrameworkCore.Firebird is an Entity Framework Core provider built on top of the Firebird ADO.NET Data Provider. It enables use the Entity Framework Core 2.0 ORM with Firebird (2.x, 3.0) and Interbase.
Work in progress at an early stage, not production ready, but now beta ready.
- Table Inludes not yet supported.
CRUD operations are working (insert, update, delete, select), Scaffolding and migrations too (still contain a few bugs, some scenario could lead to an exception). Firebird 3 Identity columns are supported. Firebird 4 Alpha metadata charlength limitation (63 vs 31 before) supported.
Version | Content | Status |
---|---|---|
2.0 Preview 1 | First release, read/write support limited to basic field types | ✔️ Available |
2.0 Preview 2 | Last inserted id support | ✔️ Available |
2.0 Preview 3 | Cast, Substring, Replace, Math & other Linq/Db functions support | ✔️ Available |
2.0 Preview 4 | Migration support | ✔️ Available |
2.0 Preview 5 | Read/Write support for the BLOB & CLOB fields | ✔️ Available |
2.0 Preview 6 | ❗ Scaffolding support | ✔️ Available |
2.0 Preview N | BugFix, tests improvements, samples improvements | 🔥 In progress |
2.0 Final | Cleanup, refactoring and perf tuning | 🎊 Scheduled |
I recommend you this lecture to discover more about Entity Core.
If you are starting from an existing database (Database First), you should use the Scaffolding capability. It will create your DbContext the classes for all the discovered entities (do not foget, all your tables need a PK to match EntityFramework needs!) and the FluentApi description. Look at the decicated sample here.
If you are in a CODE FIRST mode, you should use the Migrations system. Please refert to the relevant documentation.
Please refer to the Asp.Net Core sample application in this repo for guidance.
The nuget package SouchProd.Data.FirebirdClient is currently required. It will be replaced by the official FirebirdSql.Data.FirebirdClient as soon as it will be updated accordingly to support .Net standard 2 (Will be released soon with the version 5.11.0.0).
This assembly can be conssumed in a project targeting .NETSTANDARD 2.0 or the .NET Core 2.0 Framework. The framework 1.0 and 1.1, as well as .NETSTANDARD 1.6 and older are not supported.
Wanna add a feature, fix a bug or improve my crappy code ?
- Fork it!
- Create your feature branch: "git checkout -b my-new-feature"
- Commit your changes: "git commit -am 'Add some feature'"
- Push to the branch: "git push origin my-new-feature"
- Submit a pull request :D
This project inherit from the Microsoft Entity Framework Core (under Apache licence).
It benefit also from the great work made on the Pomelos MySql EF Core provider, a large part of this repository code was forked from this it.
This project couldn´t exist without the .NET Firebird Client made and supported by Jiri Cincura.