<p>What's wrong with Linq to SQL?</p>

<p>Or - what about Linq to SQL would make it unsuitable for a project, either new or existing? I want to hear about why you would <strong>not</strong> choose Linq to SQL for a particular project - including what project parameters make it unsuitable.</p>

Well, I have developed some applications using LINQ to SQL. One of the main problems that I find is having to layer your application. In LINQ to SQL the entity classes are tied very closely with the data access code. Also, there are some issues with DataContext which means that you can use a DataContext object to retrieve an item but you cannot transfer the item (object) to another DataContext (at least not easily).
LINQ to SQL will be useful if you don't care about layering your application properly and also if all you wanted is to create an application in a rapid manner also know as RAPID Application Development.