I assume we agree LINQ is a terrible idea for chess engine move generation. For line-of-business applications, we're unlikely to agree.
I find SQL easy to read and write. I much prefer to keep it front and center via SQL + a micro-ORM like Dapper than hide it via LINQ + EF. Dapper is extremely fast, type-safe, SQL-injection safe, and versatile: single or multiple record sets in one round-trip to DB, IEnumerable of single or multiple types, preserves object references via Multi-Map lambda (for populating HashSets or Dictionaries), insert with identity, etc. Small, simple, fast. I find EF to be bloated and slow and LINQ needlessly reinventing the wheel when you're talking to a relational database.
With SQL + Dapper, if anything goes wrong in your API method, the underlying SQL is right there. No guessing games about what the hell LINQ or EF is doing under the covers (redundant joins, numerous sub-queries, fetching reams of data over the wire only to discard most of it client-side, etc).
Old school? Yes, old school like Stack Overflow. You know, that slow, useless website from the 90s
At the end of the day, you must know SQL if you're building a line-of-business application on top of it. If the app fails to retrieve data quickly the problem is solved by tuning SQL- structure or query. If you hide SQL from the developer you're excusing them from writing performant code. I've found it encourages junior devs to say, "Why is it slow? I don't know. Ask the DBA." If they write the SQL they own its correctness and performance characteristics.