Entity Framework Core provider for Firebird built on top of the Firebird ADO.NET Data Provider
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.github
samples
src/EFCore.Firebird
test
.editorconfig
.gitignore
.travis.sources.list
.travis.yml
LICENSE
README.md
SouchProd.EntityFrameworkCore.Firebird.sln

README.md

Travis build status NuGet NuGet license

SouchProd.EntityFrameworkCore.Firebird

🔥 ❗️ 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.

Status

Work in progress at an early stage, not production ready, but now beta ready.

  • Table Inludes not yet supported.

Features

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.

Roadmap

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

How-to

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.

Dependencies

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).

Compatibility

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.

Contributing

Wanna add a feature, fix a bug or improve my crappy code ?

  1. Fork it!
  2. Create your feature branch: "git checkout -b my-new-feature"
  3. Commit your changes: "git commit -am 'Add some feature'"
  4. Push to the branch: "git push origin my-new-feature"
  5. Submit a pull request :D

Credits

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.

License

MIT