I am starting a new project using C# and ASP.NET 3.5 with SQL Server 2005, and I am trying to decide which ORM is the best to use between LinqToSQL, LinqToEntities, or NHibernate.
Ideally I would like to use the preferred Microsoft best practice; but I need to use a solution that will provide performance comparable to using stored procedures without the maintenance overhead, and be easy to deploy updates to the web application and the database since we are in an Enterprise environment and the database is controlled by another group.
I really like the ease of use that LinqToSQL provides, and I am leaning towards any Linq solution over NHibernate.
Thanks in advance for all recommendations!
Jason
If you’re looking for the “preferred Microsoft best practice” then you want to go with the Entity Framework (Linq-to-Entites). Microsoft has said this is where they are focusing their efforts as regards ORM’s. LINQ to SQL (I dont think) is being actively developed, other than maintenance and security fixes.
My personal opinion is to go with LINQ to SQL with smaller, simpler projects. The larger more robust applications I prefer to use EF.
NHibernate is also a very good solution, and it does have LINQ providers, so you might want to investigate that too (if for no other reason than just to be well informed). But for me, I need to stick to ‘official’ Microsoft solutions.