I've heard it said that the Entity Framework is overkill or that it's difficult to learn compared to LinqToSql.
I am wondering in what way? I used LinqToSql and like it. So, I am trying the EF and for the things I'm doing they seem almost exactly the same. Namespaces and method names are different but so far I don't see anything that makes the EF harder than LinqToSql.
I'm sure if I start doing more comples things it gets more complex. But then again I probably can't do the same thing with LinqToSql at all so I see that as a plus for the EF just in case I do want to do something more complex.
Does the EF use more resources than LinqToSql so much so that I should not use it if all I need is LinqToSql-like functionality?
Update: I did some tests and my tests seems to point to Linq to Entities performing better than Linq to SQL.
I first delete 1000 records from a single table, add 1000 records, edit 1000 records and then databind them to a DataView. LinqToSQL: 5 seconds LinqToEntities: 2 seconds
I performed the same test using two joined tables and the results were similar.
My tests seem to support another post: http://stackoverflow.com/questions/257016/linq-to-sql-vs-entity-framework-performance
Update 2:
Thanks for the replies. It appears to me that Linq to Entities isn't really overkill versus Linq to SQL. After researching more I think going with Linq to Entities is the way to go. It appears to have better performance.
I believe the "overkill" statements that I've heard are made because Linq to Entities can do much more than Linq To SQL and it does require more configuration (about 1 more line in the web.config). Also there are small things that Linq to Entities does differently from Linq to SQL that might make someone feel as though Linq to Entities is more complicated. But once you learn how to do things it seems Linq to Entities is no more complicated than Linq to SQL.