What are the downsides and limitations of using Linq to Sql verses writing a more traditional data layer calling stored procs/using dynamic sql through the .NET SQL Server data provider?
The advantages are well documented but I’ve found little discussion of the real world issues people have experienced.
Please note I’m not talking about comparing with O/R mappers such as NHibernate and Subsonic.
There are a few – not sure if those matter to you:
But again – those are just limitations, but a lot of folks (myself included) can live with those no problem – at least for a certain type of project.
If you need more flexibility (more database backends, more granular mapping), you should definitely look at NHibernate or later on at Entity Framework 4. They offer more power and more punch – but they’re also a tad harder to learn.
ON the other hand, Linq-to-SQL also has massive pros:
But I’m sure you’re well aware of those pro sides, right? 🙂