The core library of Piranha is totally database agnostic. This means that it could very well use
JSON files or a
NoSql database to store it's data. However, we only provide core packages for using
Entity Framework Core as data access so in the following pages we will focus on this scenario.
All data access in Piranha is implemented using
Linq Queries over
Entity Framework Core. In that sense Piranha should be compatible with all databases that have a provider for Entity Framework Core available. We try to keep the schema of Piranha as simple as possible only using:
This way we try to stay clear of things that we know are implemented differently in different providers, for example
auto-increment columns. Some packages rely on external components (like
ASP.NET Identity) that does not have this approach, and for these we provide multiple packages managaging database migrations.
To use the standard repositories for
Entity Framework Core you must include the following package in your application:
PM> install-package Piranha.Data.EF
We only test and support
SQLAzure. The packages we have available for other database providers (for example
Postgres) are community initiatives. If you encounter any issues with other database providers than the ones specified above, support for these should be handled by the people providing these packages in their respective GitHub repositories.
You can read more about how to configure your application for the different databases in their respective sections.