Geschwindigkeitsvorteile mit vorkompilierten LINQ-Queries

Um Geschwindigkeitsvorteile bei der Verwendung von LINQ zu genießen, sollte man einen Blick auf Precompiled Linq Queries werfen.

Hier ein kleines Beispiel, wie der vorkompilierte Query erstellt und verwendet wird.

Ein unkompilierter Query:

1
2
3
var customers = from c in CustomerContext.customer
              where c.lastName.Contains("Pri")
              select c;

Nachfolgend ein kompilierter Query:

Die Variable welche den vorkompilierten Query speichern soll, definieren wir wie folgt:

1
public readonly Func<CustomerContext, string, IQueryable<Customer>> getCustomersByName;

Und mit Zuweisung sieht das ganze wie folgt aus:

1
2
3
4
5
getCustomersByName =
            CompiledQuery.Compile<CustomerContext, string, IQueryable<Customer>>((CustomerContext context, lastName)
                => from c in context.Customer 
                   where c.LastName.Contains(lastName) 
                   select c);

Und verwendet wird das ganze später dann wie folgt:

1
var customers = getCustomersByName.Invoke(CustomerContext, "Pri");

Ähnliche Beiträge



Auch wenn Du nichts zu diesem Thema sagen möchtest, bringst du mit einem Klick auf den Like- oder KickButton zum Ausdruck, dass dir dieser Artikel gefällt. Vielen Dank : )

Kick it on dotnet-kicks.de

  1. Noch keine Kommentare.

  1. Noch keine Trackbacks.