I'm gonna start a new project soon, using .Net 3.5 and Winfor开发者_如何学Gom on an Oracle database. We were planning on using an ORM. NHibernate was suggested by our architect. Since I'm personally more familiar with Entity Framework, I thought it would be easier to use than NHibernate. But since there isn't any official provision from Oracle, we are resistant to using it.
So my question: I have looked at the different providers available and found some:
- DevArt
- DataDirct
- EFOracleProvider
So I'd like to have some feed back on each of them - pros and con, missing feature, stuff like that, from those using them, and know if we're better off with NHibernate?
Thanks for the help.
Your architect is right - NHibernate is simply a fantastic ORM.
NHibernate doesn't come with the whiz-bang visual designers that EF comes with, and keeping all that XML in sync with both the schema/migrations and the class definitions a chore. Luckily, there is an auto-mapper called FluentNHibernate that can make even that aspect of NHibernate seamless (you can customize the mapping on a per-table or per-column basis if you like, and also override the auto-mapper conventions).
The data-access components Microsoft puts out tend to be lower-level, and tend to rely on visual designers. That's not how I want to work. Personally, I want a high-level library that works behind the scenes, and doesn't require fancy machinery to set up and maintain.
Don't get me wrong - some of the things Microsoft puts out are fantastic, such as the .NET platform as a whole. I just think Microsoft doesn't target me and my needs with its data-access strategies nearly as well as NHibernate does.
精彩评论