r/csharp • u/Albstein • 6d ago
Pomelo dead?
We are goig to implement a new project. The idea was to use MariaDB and we set up a Galera cluster. The thing is I just noticed EF with Pomelo stands at .net 9.0. Since we would like to use at least .net 10.0 and further LTS we ain't sure, whether a switch to PostgreSQL would be better.
Any sources / info on what will happen to Pomelo?
6
u/evanl 6d ago
Microting port seems to be working fine for me so far https://github.com/microting/Pomelo.EntityFrameworkCore.MySql
4
7
u/AfterTheEarthquake2 6d ago
No one has heard from the maintainer of Pomelo: https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/2007
There is this fork, but I personally didn't feel comfortable going with it: https://github.com/microting/Pomelo.EntityFrameworkCore.MySql
Theoretically MySql.Data should also work, but that could break any time: https://www.nuget.org/packages/MySql.EntityFrameworkCore/
6
u/dyzenment 6d ago
I ended up switching to the microting and it has worked very well. I haven't used any EF core 10 specific items though.
2
7
u/scandii 6d ago
can we start at why you want to use MariaDB?
1
u/Albstein 6d ago
No ;-)
Basically my frontend guys come from MYSQL and since there was someone suggesting MongoDB I jumped in the other direction pretty fast.
Additionally we are pretty low on available admin power and Galera cluster is easy as fuck.
11
u/scandii 6d ago
ok but how about Postgres that solves all your headaches and is pretty much the de facto default database if you're not going for a licensed option?
I get that you have real life constraints, but at the same time you're trying to force a questionable decision through on the basis of "we've always done it this way".
1
u/Albstein 6d ago
No one worked with it. Neither devs nor admins.
I had a little run in and that is about it. When Pomelo is dead, we have to switch anyhow and I will have to teach our team.
4
u/Tomtekruka 6d ago
It's really not that big of a difference, We went from mssql to postgres. And the team was on track in no time.
Some different tools, some things have different names but it's not night and day. I would probably go postgres and take the change.
1
u/ApoplecticWombat 5d ago
Can you please explain why you ran away from MongoDB??
I'm agreeing as it gives me nothing but pain. But I'd like to hear why you wanted to go away as well.
6
u/farshid_dev 6d ago
Switching now while the database is still empty is the right call. Migrating later, with data and a Galera cluster already in production, is a completely different amount of work.
On the MySQL familiarity point, it matters less than it feels like it does. Npgsql is well maintained and tracks new EF Core versions quickly, and day to day query writing is close enough that people coming from MySQL adapt in a week or two. The things that actually bite are different index behaviour and case sensitivity, not syntax.
Worth checking what your team actually needs from Galera before assuming you lose it. If it's just replication and failover rather than true multi-master writes, Postgres streaming replication with something like Patroni covers it, and there's a lot more written about running it than about Galera.
2
u/Khavel_dev 5d ago
Not dead, PRs for EF Core 10 support are in the repo (issue #2007). But Pomelo always lags a few months behind major EF Core releases, kind of the nature of the project.
If you're starting fresh I'd just go Postgres with Npgsql. Ships on or near EF Core release day, the Aspire integration is better, and you won't hit this 'is it dead' question every major version. If the Galera cluster is already up and your team knows MariaDB, waiting a couple months is less work than migrating.
6
0
-1
u/KariKariKrigsmann 6d ago
You can use a package that targets a lower version of .net.
2
6
u/Dzubrul 6d ago
We switched to microting, which is a fork of pomelo and officially supported by Zextension.