Our team is working with a micro service architecture. All of them are written in C# (and .NET 6). We have a single SQL Server database, shared across all the services (shared database pattern).
In some of the services we use Entity Framework as ORM to dialog with the db.
When we change something in the database (we use DbUp migrations) we have to manually update the entities affected in all the micro services that consume them.
To avoid that we are evaluating packaging the DbContext and its entities into a Nuget package so it can be consumed from any service.
I was wondering if this is considered a good practice/approach or not, and if has any drawback (besides the fact that services that are not developed on .NET won't be able to consume the package).