I only have experience with EF from C# + LINQ and I was very, very happy using it. The query language is insanely good. Just to have statically typed queries was a total godsend. Ad-hoc projections which lead to optimized SQL. It literally has saved me days, maybe even weeks of work. Sure sometimes you need to fallback on raw SQL. But that was less then 1% of cases for me.