it has full support for the new data types. lol. beyond that you got me, other than possibilities of optimised queries (like the merge command, etc).


I am guessing most of it has to do on the server anyways. They probably optimized the query execution as for differences I don't know except for the new types.


There is a problem of paging over a joined set that SQL 2005 mis-interprets.

var orders = (
from c in Customers
from o in c.Orders
select new {c, o}

LINQ generates a ROW_Number against the joined set. SQL2005 generates a bad plan from that code. Here's a link to the discussion.

Edit#2: I'd like to clarify that I don't know that SQL2008 solves this problem. I'm just hopeful.


This marketing link claims

"Write data access code directly against a Microsoft SQL Server database, using LINQ to SQL."

Which is basically untrue.

Linq To SQL is query comprehension translated into expression trees translated into SQL, optimized by the query optimizer and then run against SQL Server database. "directly" feh.


Unless LINQ exposes the new MERGE statement, no.

There is little effective difference in the engines especially from an ORM/client view

Related Articles