
There are some difficulties with both of these OR/Ms. The tools generate objects with names that match the corresponding database entities. This is not what developers always want. A further complication is when the database names change after the object model is generated.
If you use LINQ to SQL, and the database name changes, you must get rid of the previously generated object entities. Then you must regenerate them to match the database updates. That is a clunky mechanism. In the past, my team has encountered a lot of pain to manually update object models when we used other OR/Ms.
I plan to write about this topic more deeply in the future.