Sql – Most complete ORM with LINQ support

linq-to-sqlormsql

I'm looking for an ORM that offers complete or near-complete LINQ support.

LINQ to SQL
– Supports about everything inside of LINQ (.Contains, Math.Log, etc)
– Cannot eager load relationship properties without creating a new datacontext

ADO.NET Entity Framework
– Terrible LINQ support (lots of missing features).
– Great mapping features
– Can eager load on demand with .Include methods on an ObjectQuery<>

LightSpeed
– Great LINQ support missing some features (.Contains within a Where)
– Some of the SQL generated is very inefficient.

None of these seem to fit just perfectly, I honestly wish I could take bits and pieces from each. I personally really like ADO.NET EF except the features it is missing make it just frustrating to use.

I know some people praise NHibernate up and down and I'm not knocking it but I spent today trying it out and it's ok but it's LINQ support is not that great.

Best Answer

NHibernate with Linq to NHibernate