The future of LINQ to SQL and Entity Framework
|
Last week Tim Mallaileu, Program Manager on the Entity Framework team disclosed on the team blog where EF and LINQ to SQL were headed (Update on LINQ to SQL and LINQ to Entities Roadmap). His post caused a bit of an uproar in the community and he wrote a follow up post to clarify (Clarifying the message on L2S Futures.) Why the uproar? As many have supsected, the Data Programmability team will be pushing LINQ to SQL into the corner as they continue to implement their big vision for Entity Framework which is part of a much bigger vision for Microsoft's Data Platform. LINQ to SQL is a great product and has been released for...hey, it's Visual Studio 2008's first anniversary! ... a year. It's in production in many applications. Is Microsoft pulling the plug? Is this part of the not-quite-stifled bit of politics that surrounded EF & LINQ to SQL? A short history lesson LINQ to SQL grew out of the C# team. At the same time, the Data team was working on the EDM and Entity Framework. When both technologies were presented, it was a bit of a shock for each team to see that they had to products that, on the surface, were similar. In the meantime, both products were put out for us to play with and learn but developers kept asking why there were two products that seemed so alike? Nobody from Microsoft could really answer that question, so we were left to wonder. The best info we got was that LINQ to SQL would be for RAD programming and EF for Enterprise. That makes sense. L2S is quick and easy to implement. You can certainly do more than just RAD. (Watch for Tony Sneed's article in the December issue of MSDN Magazine.) Eventually, LINQ to SQL became part of ADO.NET (it is a Data Access feature after all) and was handed over to the ADO.NET team. It wasn't the happiest of occasions for it's creators since the writing seemed already to be on the wall. So where are we now? As of the SP1 release this summer, LINQ to SQL and EF are now both in production. Nothing changed in L2S in that released, which did start a buzz that had a hard time believing through my ever rose-colored-glasses view of the world. Some of the improvements that developers have asked for in L2S are already in EF. Some of the improvements that devs want for EF are already in L2S. Microsoft would be looking at making investments in both tools to make them more and more alike and it doesn't make sense. But what to do? Because EF is part of the big Data Platform strategy , they are not going to stop pushing EF forward. Instead, they are pulling back on LINQ to SQL and while it will still be available and they do have developers working on it so it won't just stagnate, it is not going to evolve in a big way. Read this blog post from Damien Guard who is one of those developers and his perspective on the matter: LINQ to SQL next steps Currently there's a call from the community to Open Source LINQ to SQL. This will be an interesting conversation to watch. I've got LINQ to SQL in some production apps and even though I know Entity Framework pretty thoroughly having just written a book that's looking like 650 pages on the topic, I love LINQ to SQL. It's nice and neat and compact and I was able to just toss it into these small apps and get them out the door but quick. The fear is not that LINQ to SQL is going to be removed from VIsual Studio, because there has so far been no mention of deprecating it and even then, that's a 10 year (?) process. But that those who have invested in LINQ to SQL can't make plans to grow the apps where it's implemented ...not using LINQ to SQL at least. That's pretty harsh. However, the DP team has already been putting out information about migrating LINQ to SQL to EF. Migrating from LINQ to SQL to Entity Framework: Deferred Loading Migrating from LINQ to SQL to Entity Framework: Eager LoadingThis is their guidance for growing those apps: move to EF. Like it or not. If EFV1 doesn't meet your needs, take a look at Tim's presentation "Entity Framework Futures" from PDC where you can see a good chunk of what's going into the next version. (My previous post has links to find PDC videos.) I'll be writing more about that another time. |


Comments (1)
Great article Julia! I'm just about done with your EF book. It's a great read. I thought this topic (deprecating L2S) was pretty interesting. The situation that I prefer L2S over RF is when I want to use stored procedures. L2S makes stored procedures so easy!
Be easy weezy and keep up the good work.
Posted by Mike | June 5, 2009 7:04 AM