Linq in Stored Procedures verwenden

13/08/2009 - 17:39 von DennisB | Report spam
Hallo,

man kann ja CLR Code für Stored Procedures bei SQL Server 2008
verwenden. Ist es möglich innerhalb dieser dann auch Linq zu
verwenden?
Bisher habe ich noch keine Informationen dazu finden können. Es wurde
mir mehrmals gezeigt, wie man mittels SqlCommand etc. auf die Daten
zugreifen kann. Ich möchte dazu aber gerne Linq to SQL-Klassen
verwenden.
Vielen Dank für eure Antworten.

Liebe Grüße,
Dennis
 

Lesen sie die antworten

#1 Elmar Boye
13/08/2009 - 18:28 | Warnen spam
Hallo Dennis,

"DennisB" schrieb ...
man kann ja CLR Code für Stored Procedures bei SQL Server 2008
verwenden. Ist es möglich innerhalb dieser dann auch Linq zu
verwenden?



Linq 2 SQL oder das Entity Framework sind für Client Anwendungen
konzipiert worden und nicht für SQL CLR freigegeben.

Die SQL CLR unterstützt im Kern nur einen definierten Satz
von Assemblies, siehe:
http://msdn.microsoft.com/de-de/lib...03279.aspx

Was Linq 2 Sql/EF angeht bringen sie auf Serverseite keinerlei
Vorteile aber massive Nachteile, vor allem hinsichtlich der
Geschwindigkeit. Denn sie nutzen zusàtzliche Metainformationen,
deren Auswertung für einen einzelnen Prozedur Aufruf oft
lànger dauern würde, als die eigentliche Datenabfrage.

Auch ist weder Linq2Sql noch EF auf die Anforderungen eines
SQL Server Dienstes hin programmiert worden, und kann die
Gesamtleistung des SQL Servers beeintràchtigen.

Deswegen ist bei SQL CLR der direkte (wenn auch vielleicht mühseliger
erscheinende) Zugriff über SqlCommand etc. deswegen vorzuziehen.

Wobei die Alternative zu einer Infrastruktur über CLR Prozeduren
ein separater Service (z. B. WCF) in den meisten Fàllen sinnvoller
ist, wenn Du Linq2Sql nutzen willst.
Dort wird auf "herkömmlichen" Wege mit dem SQL Server kommuniziert
und Du kannst Linq und was Du magst nutzen.

Gruß Elmar

Ähnliche fragen