Quote Originally Posted by frantaylor View Post
"Entity frameworks" are nothing more than pure bloat.

If you need an "entity framework" it's a symptom: you are not doing it right.

Use a database with semantics that match your application, and you don't need no steenkin "entity framework".

How nice of Microsoft to encourage bad software design.

Leave it to Microsoft to come up with designs like this:

- developer wants to store key-value pairs

- "entity framework" creates SQL queries to model "key-value" store

- SQL database parses SQL queries and performs "key-value" operations on its underlying database.

So here we have creation of SQL code and the subsequent parsing of this SQL code for NO REASON WHATSOEVER.

Let's say you're a developer that made your small application that stores a contact list. Later you noticed that you rewrite every time your algorithms of searching, filtering and such. And the most natural choice to not redo them and to not think too much on how you store them, etc. to use Linq and as a backend code to use a database.
Entity can create in basically no time this part.
Also Entity handles typical cases (that most developers writing their .ini or .xml files in the back will not do it) like: schema changes, migrations, changing the backing store and even the database type in a transparent way.
Can you do it better? Maybe! But certainly the Entity solves problems that most novices will not know how to overcome, or even they will do it, they will do it badly.
Another reason why people should use Entity is the way to make a website: MVC3 (or MVC4) is great to make fairly fast a website, but setting a database is painful, so is easier to make with your own collections first (in Entity parlance is "Code first" and after that make a backing database).
At the end Entity brings a native objects ORM that has maybe a performance hit, but it works smoothly with minimum code for most users.