Linq : query syntax

  1. Wat is query syntax?
  2. Voorbeeld
  3. Query syntax tegen een database
  4. Deferred execution

Wat is query syntax?

Query syntax is een andere manier om data te bevragen dan rechtstreeks gebruik te maken van de Linq extension methods.
Query syntax leunt qua gebruik en schrijfwijze veel dichter aan bij SQL.

Voorbeeld

Query syntax tegen een datatbase

Deferred execution

Wanneer je een Linq-statement opstelt wordt de equivalente SQL-code niet onmiddellijk losgelaten op de database.
Het kan namelijk gebeuren dat in de verdere loop van het programma de uit te voeren query nog wijzigt, of zelfs niet moet worden uitgevoerd.

De SQL-query zal pas uitgevoerd worden op het moment dat de collectie van elementen doorlust wordt:

IEnumerable<Category> categories = from c in db.Categories
                                 where c.CategoryName.StartsWith("c")
                                 select c;

//... nog wat statements							 
								 
foreach (Category c in categories) //Nu wordt de SQL-query uitgevoerd
{
	Console.WriteLine(c.CategoryName);
}

Wens je deze uitvoering te forceren, dan kan je gebruik maken van de methoden ToList of ToArray:

List<Category> = (from c in db.Categories
                  where c.CategoryName.StartsWith("c")
                  select c).ToList();
				  
of
Category[] categorieen = (from c in db.Categories
                          where c.CategoryName.StartsWith("c")
                          select c).ToArray();

Meer tutorials:
leer ook: html | xhtml | css | asp | asp.net | c# | ado.net | linq | ajax | java | javascript
Valid HTML 4.01! Valid CSS! © - Cursusweb