In this days I am working hard with LINQ to SQL, that in my opinion is still better then the EF beta 4, for just a couple of fundamental reasons:

  1. Better support to the pattern Active Record.
    Instead of Entity Framework LINQ allows me to draw any kind of relationship from one entity to another one. I can specify which primary key (entity key) i want to use and the designer doesn’t force me to VALIDATE my domain to perfectly reflect the database.
  2. Better support to LINQ sintax.
    I show you 1 very simple example. SELECT WHERE IN xxx.
    This can be simply accomplished with LINQ to SQL with the syntax array.contains(x.entity_field) and works perfectly. With EF this is still impossible.
  3. Finally better support over the web.
    It is still very hard to find good example on how to write nice queries with EF.
    With LINQ to SQL you can download this awesome software: LINQPad.

A short screenshot:

image

So, I will still work with LINQ to SQL for the moment. Of course I am not using anymore NHibernate now!!