Last week, Nick Craver, Architecture Lead for Stack Overflow, announced that Stack Exchange is migrating to .NET Entity Framework Core (EF Core) and seek help from users to test the EF Core. The Stack Exchange community has deployed a major migration from its previous Linq-2-SQL to EF Core. Following this, Stack Overflow may also get a partial tier to deploy later today.
In his post, Nick said, “Along the way we have to swap out parts that existed in the old .NET world but don’t in the new.”
Some changes in Stack Exchange and Stack Overflow post migration to .NET EF Core
The Stack community said that they have safely diverged their Enterprise Q3 release. This means they work on one codebase for easier maintenance and the latest features will also be reflected in the .NET Entity Framework Core.
Stack Overflow was written on top of a data layer called Linq-2-SQL. This worked well but had scaling issues following which the community replaced the performance critical paths with a library named as Dapper. However, the community said that until today, some old paths, mainly where they insert entries, remained on Linq-2-SQL.
The community also stated that as a part of the migration, a few code paths went to Dapper instead of EF Core. This means Dapper wasn’t removed and still exists post migration.
This migration may affect posts, comments, users, and other ‘primary’ object types in Q&A. Nick also added, “We’re not asking for a lot of test data to be created on meta here, but if you see something, please say something!”. He further added, “The biggest fear with a change like this is any chance of bad data entering the database, so while we’ve tested this extensively and have done a few tests deploys already, we’re still being extra cautious with such a central & critical change.”
To know more about this in detail, head over to Nick Craver’s discussion thread on Stack Exchange.