2009-04-01 10 views
0

Ich möchte ein einfaches und übersichtliches Beispiel zum Kompilieren einer LinQ to SQL-Abfrage sehen. Ich habe darüber gegoogelt, und obwohl es ein paar Implementierungsbeispiele gibt, betonen Blogposters normalerweise den Zeitunterschied zwischen kompilierten und nicht kompilierten Abfragen.Kompilierte LinQ-Abfragen

Antwort

1

LINQ to SQL kompilierte Abfragen grundsätzlich erlauben, dass die Übersetzung von LinqToSQL Abfrage Ebene SQL, passiert nur einmal bei der Kompilierung, so dass die Abfrage wiederverwendet werden kann, ohne dass die Durchführung Übersetzung.

Sie werden als statisch Func Delegierten vertreten, eine Datacontext-Instanz und Parameter erhalten, die in der Abfrage verwendet werden:

public static Func<MyDataContext, string, IQueryable<Entity>> 
    TestQuery = 
     CompiledQuery.Compile((MyDataContext ctx, string param) => 
      from e in ctx.Entities where e.Field == param select e); 

Eine übliche Praxis ist, dass kompilierten Abfragen als statische Elemente auf einer Teilklasse gespeichert werden können Dies erweitert die von DataContext generierte Klasse.

Verwandte Themen