At other times, too little control over how the query is translated to SQL, or DB features not being exposed. With time the frustration piles up..
EDIT: I'd be OK with a light-weight ORM, like stuff these columns into these fields of that class. Leave the rest to me. Though EFCore got a bit better with support for query types so I can map classes to views / stored procedures and do the "real" work there.