Every corner I turn, and blog I read pertaining to .net, and in particular, c# – I've noticed an overwhelming recommendation for ORMs, and of those, Entity Framework seems to take the cake.
I'd like to think i'm not your typical weekend hobbyist programmer. I'm currently working for a company that inherited a rather large application fully written on top of E.F. I absolutely loathe it. Performance problems (bad code throughout, but E.F. is certainly not helping with the generated queries), awful to change schema details with several hundred tables to manage, etc. I very much prefer to roll my own data layer for a large project (hell, even small projects – its just easy boilerplate code to write and I don't mind taking the effort to write it).
However, whenever I see a blog post about a project / feature, or a direct shout-out to entity framework, I never see anyone speaking poorly of Entity Framework… at least not in the manner that I speak of it in my day-to-day musings with fellow developers. At this point, if I see Entity Framework on a job description, I cringe in the same way I would if the job was for a Sharepoint developer.
So, I feel as though I'm missing something about E.F. Honestly, it seems like a wonderful prototyping tool when your dataset and/or DBMS is unrealistically small. However, once you put some production-level datasets behind it, its nothing but slow with the occasional timeout or possible execution-plan issue. Certainly nothing worth implementing and maintaining in a production environment.
So can you help me fill in the blanks? What your thoughts on Entity Framework are? Do you experience the same slowness against large dataset / complex DBMS? Is E.F ever production worthy? I'd really like to shed some real (albeit, inevitably biased) experience about it.
by Mirithal via /r/csharp