Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p><strong>EDIT (yes, 3 years later)... I no longer hate EF... Entity Framework 4.1 and up is great - it (finally) solves all of the issues/failings that it has had in the past. Note, not "4.0", but "4.1" finally removed the ugly use of 'magic strings', etc. It has <code>Contains</code> and everything else plus more.</strong></p> <h2>Below is my old comment from 2008</h2> <p>I personally hate EF. I LOVE LINQ-2-SQL. Here are my concrete warnings about EF:</p> <p>1) EF doesn't support the "Contains" function. So, if you have a table of 10,000 'accounts', and you wanted to return some accounts that the user supplied a list of the ID's... you would have to download all 10,000 and do a for loop.</p> <p>2) EF doesn't support lazy-loading: <a href="http://www.singingeels.com/Articles/Entity_Framework_and_Lazy_Loading.aspx" rel="nofollow noreferrer">http://www.singingeels.com/Articles/Entity_Framework_and_Lazy_Loading.aspx</a></p> <p>3) If you have a simple "Type" table, example AccountType... and you wanted to select all accounts from the Accounts table where AccountTypeID == 9, there is not a clean way of doing it in EF... EF would hide that field, and make you supply an instance of an AccountType class.</p> <p>All of these issues are solved in L2S.</p> <p>EDIT: Oh, you did ask "what are your experiences..." not just about issues. In my new job, they have a 205 table database, 600+ stored procedures, etc. I wanted to bridge the gap into the new world of programming... so I converted the DAL to a 1-1 "drag all tables in" version using EF. Here's what it looked like: <a href="http://www.singingeels.com/Blogs/Nullable/2008/10/01/Plans_to_the_Death_Star_Or_an_AutoGenerated_EDM.aspx" rel="nofollow noreferrer">Giant EDM</a></p> <p>After only 1 week, I had to rip it out and replace it with L2S due to the issues I mentioned above, and a few more.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload