2008-08-18 12 views
4

LINQ to SQL oder Entity Framework beide integriert gut mit SQL Server 2005.SQL Server 2008 vs 2005 Linq Integration

Die SQL Server 2008 Datenblatt verspricht noch bessere Integration - aber ich kann es nicht sehen.

Was sind einige Beispiele dafür, was Sie tun können, wenn Sie mit einem 2008 Server sprechen, wenn Sie mit SQL Server 2005 sprechen?

Antwort

0

es hat volle Unterstützung für die neuen Datentypen. lol. darüber hinaus hast du mich, außer Möglichkeiten der optimierten Abfragen (wie der Zusammenführungsbefehl, usw.).

0

Ich rate das meiste davon muss auf dem Server sowieso tun. Sie haben wahrscheinlich die Abfrageausführung optimiert, was die Unterschiede betrifft, die ich außer für die neuen Typen nicht kenne.

1

Es gibt ein Problem beim Paging über einen Joined-Satz, den SQL 2005 falsch interpretiert.

var orders = (
from c in Customers 
from o in c.Orders 
select new {c, o} 
).Skip(10).Take(10).ToList(); 

LINQ generiert eine ROW_Number für die verbundene Gruppe. SQL2005 generiert aus diesem Code einen fehlerhaften Plan. Hier ist ein Link zu der discussion.

Edit # 2: Ich möchte klarstellen, dass ich nicht weiß, dass SQL2008 dieses Problem löst. Ich bin nur hoffnungsvoll.

+0

Können Sie das näher erläutern, was Sie mit ‚schlechten Plan‘ bedeuten? – leppie

1

Diese marketing link Ansprüche

"Datenzugriffscode Schreiben Sie direkt gegen eine Microsoft SQL Server-Datenbank mit LINQ to SQL."

Das ist im Grunde unwahr.

Linq To SQL ist Query Verständnis übersetzt in Ausdrucksbäume in SQL übersetzt, optimiert durch den Abfrageoptimierer und dann gegen SQL Server-Datenbank ausgeführt. "direkt" feh.

0

Wenn LINQ die neue MERGE-Anweisung nicht verfügbar macht, keine.

Es gibt wenig effektiven Unterschied in den Motoren vor allem von einer ORM/Client-View