I\'d like the community\'s take on some thoughts I\'ve had about Linq to Sql and other ORM mappers.
I like Linq to Sql and the idea of expressing data access logic (
I just discovered this question. I guess it's pretty much played out by now, but I'm going to throw in my two cents anyway...
I only want to write code for the things that aren't obvious.
CRUD code is obvious. I don't want to write it. Therefore, ORMs are a good idea.
This doesn't mean that ORMs don't have problems, but the problems are with execution, not intent. As ORMs mature, the problems will diminish, and the productivity gains already available for simple scenarios will eventually extend to complex scenarios as well.
LINQ is also a good idea. Others have mentioned a number of the advantages, but all I have to do is think about the first time I tried to do a pivot in LINQ where I didn't know the number of columns in advance. Or the first time I realized I didn't have to create a new DataView every time I wanted to sort or filter something. LINQ empowers me to do everything I want to do with data in C#, rather than having to figure out how divide up the work between SQL and C#.
So, yes, ORMs, LINQ, and other emerging technologies are suboptimal solutions, but they don't miss the point, and they won't be suboptimal forever.