The road to .NET Core - please help Stack Exchange test EF Core!


Here at Stack Overflow we're migrating many things to .NET Core. Along the way we have to swap out parts that existed in the old .NET world but don't in the new.

Now that we've safely diverged our Enterprise Q3 release (we work on one codebase for easier maintenance and the latest features go to Enterprise too), we can deploy some things we've been working on. Today, that's Entity Framework Core.

A decade ago, Stack Overflow was written on top of a data layer called Linq-2-SQL. It worked well but had scaling issues. We later replaced performance critical paths with a library we wrote called Dapper. But some old paths (mainly where we insert things) remained on Linq-2-SQL. Until today.

We have just deployed a major migration from Linq-2-SQL to EF Core here to meta.stackexchange.com and meta.stackoverflow.com. If all goes well, Stack Overflow will also get a partial tier deploy later today.

Since many have asked: Dapper isn't going anywhere. No Dapper was removed. A few code paths even went to Dapper instead of EF Core as part of the migration.

We need your help

This change affects Posts, Comments, Users, and other "primary" object types in Q&A. We're not asking for a lot of test data to be created on meta here, but if you see something, please say something! You're probably not crazy, it's probably us. If anything looks out of place today, please open a meta issue here, tweet me directly at @Nick_Craver, or ping us in Stack Overflow chat.

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 test deploys already, we're still being extra cautious with such a central & critical change.

Thanks for helping us with this. If you have questions, I'll answer as best I can!

Update 1 (2018-10-03 19:00 UTC): We have deployed this to one of the 9 Stack Overflow web servers (serving the entire network) and are continuing to monitor for issues.