Story time. At a place I worked we used Entity Framework + LINQ a lot. There was probably 10,000 different queries server side written this way.
One day I noticed a problem with one of the queries. It was reported that it would fail intermittently. Investigate. Oh ok it's broken because the left join is returning nothing in some cases and it's not handling that properly. That's strange though, I don't see anything immediately wrong with the code…
Oh… oh no… after we updated to .Net Core 6, all the left joins in the entire enterprise system are broken when the left side returns nothing, and it will just crash. Isn't that the whole point of a left join? We didn't notice for months because it only happens 5% of the time (the left joins were basically fail-safes for unusual database states). We can't revert to .Net 5 because it's end of life either.
Surely we can't have that many left joins though right? CTRL+Shift+F. Oh no. Plus the most complicated and important Do Not Touch ^TM^ queries are broken.
Hence we set off on the quest to rewrite all 10k queries from LINQ to raw SQL. This was before A.I. mind you, so it was a manual and tedious process. I would have used the raw SQL output inspector feature but that was also broken. This is one of the few times I would absolutely love an A.I. to do this for me, and I can just review and test each function at the end.
Fuck Entity Framework. I left a report on their GitHub, but people were just bitching as usual about how hard it is to fix it to work like it used to. A few weeks ago, 5 years after the original problem, and I no longer work there, I get an email that it's finally fixed. Hooray.

