Note: Anyone coming to this question now, mind the date. This question is nearly 4 years old and the information is relatively outdated. In my experience NHibernate now is relatively easy to use (with the fluent interface), Entity Framework is a legitimate contender, and MicroORMS such as Dapper and Massive are becoming quite popular.
We are re-writing one of our core web applications and I finally got the all clear from management to replace the horrible tangle of stored procedures with an ORM framework for implementing our data access layer.
Hooray for me. Now I have to choose one.
I have played around a little bit with the following
Now I know that NHibernate is the true Alt.Netty choice but the problem is that I am working with contractors who as far as I know have never heard of it, and NHibernate has a reputation for quite a learning curve. Subsonic in the meantime seems like a far more straightforward approach. I also am aware of the Entities Framework but am wary of its 'meh' reception and Linq to Oracle but am wary of the fact that I've hardly heard anything about it.
So the questions are:
Some more considerations:
I'm leaning toward Subsonic, but I'm curious what people might have to say.
So, do you need an ORM? If you have any more or less complex project and you work with a relational database, then yes, definitely. Big ORMs seem "bloated" not because they are bad tools, but rather because the underlying problem of object-relational mapping is hard.
Object-Relational Mapping or ORM is a technique for converting data between C# objects and relational databases. ORM converts data between two incompatible type systems (C# and MySQL), such that each model class becomes a table in our database and each instance a row of the table.
Per ASP.NET software companies, Object Relation Mapping (ORM) is used for data processing from a relational database to modeling (logical objects or domain classes) in the programming that is more easily usable by code.
What is Entity Framework? Entity Framework (EF) has been an important part of the Microsoft development platform for several years now. It's what's known as an Object Relational Mapper (ORM); that is, it maps objects defined in source code to tables in a relational database.
Have you checked out Telerik's OpenAccess ORM? They recently acquired Vanatec and their ORM product. It supports multiple database platforms (including Oracle), LINQ support, forward & reverse mapping, is integrated with Visual Studio, and in my opinion (granted I am somewhat biased) is a suitable replacement for LINQ to SQL if that is the kind of "ease of use" you are looking for.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With