views:

687

answers:

2

I am looking to learn Linq to query MS SQL databases, but am unsure of which path to take. I read recently that Linq to SQL is being rolled into Entity Framework, and development has maybe stagnated.

Is it worth learning Linq to SQL still? Or should I be focusing on Entity Framework or another Object Relational Model like Ideablade's Devforce which is moving to Linq as it's query language?

+4  A: 

Linq to SQL is being rolled into the Entity Framework, and that's where that team is putting its energies. So, knowing the Entity Framework going forward would probably be your first priority (I would make it mine.)

However, if you have the cycles, it's not wasted time to understand Linq to SQL. There's still a lot about Linq, expressions, lazy loading, delayed execution, etc. that you can learn from it and will still be applicable long after it has been fused into the Entity Framework.

jro
+1  A: 

I doubt that the LINQtoSQL provider is going away, though, it does seem to be true that the focus on extending LINQ will be with Entity Framework. The problem is that the Entity Framework is really awful at present, IMO. I'm proceeding to develop apps using LINQtoSQL as the ORM. I fully expect that the language support will be there in the future. When LINQtoEntities catches up, I may look into it, though LINQtoSQL in its current incarnation seems to be adequate (with a few tweaks I've added myself) for my needs. This is especially true using Dynamic LINQ which I've used to solve some thorny issues that I couldn't get otherwise (sort by property is a lot simpler with Dynamic LINQ).

You might want to consider using nHibernate and LINQ for nHibernate.

tvanfosson