I am looking for the best ORM tool for my upcoming .net web project. I have come across Tier Developer and MS Entity Model framework as the some of the choices. Does anyone guide me which one would be the best? Entity Framework model seems to have issues with referential integrity constraints (cascade delete). Which one would be a better option?
I've heard good things about Genome. They have a good intro video that will help you decide (high res and everything).
Edit: looks like cascading delete is supported via events.
We have been using nHibernate pretty successfully ourselves. There is a learning curve there but I think that is going to be expected for anything you do. There is however a large community of people out there working on it so I find plenty of support.
EntitySpaces gets a lot of praise from me. It is fairly easy to get started and also offers rich depths of functionality for when you ready (or need) to take the deep dive.
The dynamic query api offers a syntax that (to me) is more readable than linq.
And the bottom line, Performance, is excellent.
I've been using LLBLGen for the last couple of years and I have been happy with the performance of my large ASP.NET project.
ORM = that kind'a tool that converts your Database to a DAL using strongly types, right?
you should give SubSonic a go ...
Rob Conery has 3 videos in that page that will help you to start, and I started to love it, of course, NHibernate has much more resources out there cause it is widly used, even in the Java world were it origins comes (Hibernate).
:)
I've used DevExpress XPO before and it is a great ORM api though not open source...
If you are looking for something free try subsonic as someone else posted, I haven't used Entity Framework but if you dont want to add another layer outside microsoft platform that seems to be a good option.
Actually this question asks for a supset of responses for: Frameworks available to .NET
Let me copy my answer for completeness: Actually .netTiers generates besides the dal some bll and some user controls/web pages. So I think it is the closest to what you are searching.
I personally use subsonic, because:
- it uses ActiveRecord pattern which I like (it's simple and easy)
- is lightweight
- creates scavenger pages out of the box... (so some UI :) )
On a personal note I would stay away from the MS Entity Model framework for now: it's great but needs to become more mature. Also note that it's a completely different approach than the active record pattern (you use models :) ) a equivalent framework (and very mature but hasn't the nice designers) is CSLA.NET
I've successfully used Entity Spaces and quite like it. The documentation isn't great but the support given via the forums is really first class. It maps foreign keys as properties and will cascade any updates. Performance is also very good although some places may have restrictive policies which prevent table access in DBs and insist on stored procedures only (like mine) which can limit the use of the dynamic query API. It's fairly easy to work around this as ES exposes plain ADO objects if required.