I'm mainly involved in data integration. I don't have access to the data model that the applications I integrate use. I don't have access to the application source code; I have access to the data store. I don't need to extract an object, manipulate it, and then put it back where I got it. I typically need to take a set of
all objects, transform them (typically with VIEWs), serialize them, and import them into another system that almost certainly don't represent the underlying objects in the same manner. No matter what, though, I usually don't get to have access to whatever ORM the application was created with. We do not have access to source code. Sometimes it's a matter of creating CSV data files for scheduled import, but sometimes it's me doing the actual direct manipulation of the data systems.
Some of them do have APIs, but since I already need to understand the data store to do reporting with all the third party reporting software we have, learning the API is an additional task on top of already needing to learn the data store. Come to think of it, I don't even know how you would even write third party reporting software without something basic like a DataTable. Furthermore, most systems are complex enough that whatever the developers envisioned they should be used for, however the developers thought we would configure our systems, and whatever they envisioned their customers would require of them is almost certainly incorrect, inadequate, or both.
Finally, some of my processes do use stored procedures, but most of them use table-valued parameters in order to control how the data are submitted. As far as I'm aware, EF doesn't have any support for TVPs.
Almost nothing I write is written in Visual Studio. Not that I can't, but it's not particularly useful to do so. I don't have nuget or chocolatey installed on any of the systems I work with. I do use SSIS when I can, but that's usually out of BIDS or SSDT, not VS. Others use PowerShell scripts with System.Data and whatever .Net provider I need for that DB.