views:

165

answers:

4

I'm trying to make an educated decision about what ORM to use for a number of legacy applications I'm responsible for porting to MVC 2. The ORMs I've looked at are LINQ to SQL, LINQ to Entities and nHibernate. L2S seemed to be the easiest, but I've found numerous articles and blog entries stating that Microsoft would no longer be updating it after .NET 3.5. With that in mind, I've been working with Entities a bit, but have found that it is cumbersome and overcomplicated for the small applications I'm working with (same with nHibernate). I recently purchased "Pro ASP.NET MVC 2 Framework" by Steven Sanderson, in which he chose to use LINQ to SQL as his ORM, at one point stating:

 I'm aware that some developers have expressed concerns that Microsoft might 
 deprecate LINQ to SQL in favor of Entity Framework. However, Microsoft included 
 and enhanced LINQ to SQL in .NET 4, so these fears cannot be entirely justified. 

I was unaware that they had made changes, nor had I bothered to look, as the general community opinion seemed to be that L2S was approaching end-of-life, to be replaced by L2E. Damien Guard wrote about some of the changes on his blog (http://damieng.com/blog/2009/06/01/linq-to-sql-changes-in-net-40) for those interested.

My hope is that someone can shed some light on Microsoft's position regarding LINQ to SQL. The applications I'm porting and updating have a (roughly) 8-10 year life span, so I'd prefer to adopt a technology that won't be abandoned in that time-frame and leave my replacements up creek. (Of course, if anyone has any other recommendations for small shops - our database has less than 5 million records - I'd love to hear them.)

A: 

Microsoft will NOT depreciate LINQ. I guarantee it.

icemanind
do you try to get a badge for unqualified comments? is there even one for -10 or so? if so - i'll have to do that too...
santa
And your guarantee is worth how much exactly?
RedFilter
+1: Good enough for me.
Scott Stafford
+1 .. Anders Hejlsberg said something similar: "LINQ to SQL is not dead. I can assure you, it is not dead. Nothing ever goes away. We have never done that and we never will."http://reddevnews.com/blogs/desmond-file/2008/12/digital-darwinism.aspx
KristoferA - Huagati.com
@Commenters: Actually, icemanind only guarantees that *LINQ* won't go away, not *LINQ 2 SQL* - hopefully that was just a typo, otherwise the guarantee isn't worth anyhting :)
OregonGhost
@KristoferA "Nothing ever goes away?" I know you're just quoting AH, but come on: Compact Framework, J#, VB6, etc. Stuff goes away all the time. Not his most profound statement, there.
Craig Stuntz
@Craig: VB6 is still around, I know more than a few shops that still develop and ship software written in VB6. And I think his point was: they won't remove it from the framework anytime soon. As in: if you install .net 3.5 SP2 or .net 4.0 SP1 you will suddenly no longer have the System.Data.Linq assembly...
KristoferA - Huagati.com
A: 

I don't know if it was just sales-speak, but we had a MS guy come into our shop to introduce us to Visual Studio 2010, and he indicated that MS still has teams working to grow EF and L2S separately.

kbrimington
One team works on both frameworks.
Craig Stuntz
A: 

seeing the others answers i guess that link is worth an answer...:

http://www.infoq.com/news/2008/11/DLINQ-Future

they do a quite good job analysing different sources...

and here the msdn-link which i guess started the whole discussion...:

http://blogs.msdn.com/b/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx

santa
+3  A: 

The message I'v received is: looking forward we should really use Entity Framework in as much as possible; LINQ to SQL is basically in maintenance mode: it won't go away any time soon but it won't evolve significantly either. Meanwhile Entity Framework is evolving and also being integrated with other products/frameworks like RIA Services or WCF Data Services.

Edgar Sánchez
Sánchez... i like to speak out that name loud... sounds so... don't know.... "Sssssánchezzzz"... :)
santa