I have heard some bad things about the Entity Framework, and I am considering using it.
- What is your opinion about it?
- Should I learn it?
- What are the strong points of it?
- What are the weak points of it?
I have heard some bad things about the Entity Framework, and I am considering using it.
If you have never used any type of Business Entity or O/RM (such as NHibernate or LLBLGen), you probably won't find a lot of cons with Entity Framework. At my company we evaluated all 3 tools, and ended up choosing LLBLGen because it was a very easy way to work directly with the database (rather than spending a lot of time building an object model).
For whatever reason, it was just easier for us to start with our data model and build up (the LLBLGen and EF approach), rather than starting with an object model as you would with NHibernate. My team couldn't really "get" Entity Framework ... it seemed harder to work with than LLBLGen.
Take this with a grain of salt ... we evaluated all 3 tools for a few days, so our experience with EF and NHibernate is not particularly deep.
I suggest you take a look at http://stackoverflow.com/questions/tagged/entity-framework for more information about entity framework and how it compares to other tools.
I'm having a horrible time with the new Entity Framework 4. Because of one little problem with concurrency. The real problem with Entity Framework is: - No normal website to give me answers or to post my problems - No good documentation what so ever for good practices - No tutorials for good basics of doing things with it (the single dimension CRUD's everybody is posting on the internet are pretty useless)
And finally like most ORM's: It's difficult to get it to work the way you need it
Michel - what specifically are you concurrency issues? We're in the process of evaluating EF for a large project that is about to start. We have past experiences using ORM's on large projects (LLBLGen), but were looking @ MS's native ORM via EF. Any insight into your pain-points would be helpful.
You can find pretty detailed information here: http://msdn.microsoft.com/en-us/library/aa697427%28VS.80%29.aspx
As for the original question : I definately think EF is worth learning because we'll most likely be hearing about it for years. Even if your team/company is not using it right now, its likely to be in our lives in the future....so in my opinion its good to investigate anything the up-and-coming things that surround us.
Ive spent about 10 hours evaluating right now and here is what ive found :
•What is your opinion about it? - so far version 4 seems to be meeting the minimum acceptable ORM features.
•Should I learn it? - in my opinion yes. please see my comments above.
•What are the strong points of it? - native tool support in VS
•What are the weak points of it? - I agree with the other poster that other ORM tools can be much easier. Ive been using LLBLGen for about 4 years now. I remember it had a steap learning curve but for some reason didnt seem to take much time at all.
Im finding the lack of strongly typed includes + help for model traversal in the includes is a little weak.
Also in the previous release the lack of support for the FK's pretty much made EF unusuable in my opinion.