Description
In order for EFCore to fully support CockroachDB there needs to be CockroachDB-aware EFCore provider. After some testing and investigation, we've concluded that there are enough subtle differences between PostgreSQL and CockroachDB that using the PostgreSQL provider as-is does not work 100% with CockroachDB.
I've forked the PostgreSQL provider so that we can decide how to proceed. To resolve this issue, let's decide on one of the following options:
-
Make changes to npgsql/efcore.pg so that it is CockroachDB-aware, but still supports PostgreSQL by default. The outcome would be for all changes needed to fully support CockroachDB to be merged into the upstream npgsql/efcore.pg repo. Ideally, the CI tests would also run against CockroachDB (perhaps as a non-blocking check). This of course would require the owners of the repo to agree, and we'd build off the basic scaffolding that was added in Basic scaffolding for CockroachDB npgsql/efcore.pg#1379.
-
Fork npgsql/efcore.pg and make changes so it works with CockroachDB. Then Cockroach Labs would be responsible for maintaining this forked EF Core provider.
cc @roji -- I wonder if you could take a look at this thread and offer any thoughts you have. Option 1 would be our preference, but I'd like to know what is possible for you and your team.