I asked .NET devs what they used for DB CRUD in most of their apps on my LinkedIn and Twitter pages recently.
I can only choose four options so picked three popular approaches in .NET land and ‘Other’.
I was particularly curious to see how the manual SQL approaches of Dapper and ADO.NET would score compared to Entity Framework as I know there’s a lot of devs that have a big distrust of ORMs.
The results are below …

After over 3K votes Entity Framework is way out in front. This doesn’t really surprise me though as it’s an amazing product and getting better all the time.
The results do show that there’s still a solid approximately 20-23% devs who like to write their SQL manually in either Dapper or direct with ADO.NET. Writing your own SQL does of course give you more ‘control’ but the trade off is a big maintenance cost in terms of writing the queries initially and then keeping them up to date.
What do you use for DB CRUD in your .NET apps and WHY?
I’m an Entity Framework fanboy and love the way the product is improving all the time so I’d use EF on most occasions. Occasionally I’ll drop to raw queries, views or sprocs etc. if EF perf isn’t ideal but this seems to be required only infrequently.
What do you use and why?