public class Person {
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
}
static void Main(string[] args)
{
List<Person> people = new List<Person> {
new Person { FirstName = "William", LastName = "Schokkele", Age = 35 },
new Person { FirstName = "Bill", LastName = "Gates", Age = 50 },
new Person { FirstName = "Hanne", LastName = "Schokkele", Age = 7 }
};
}
IEnumerable<Person> personen = from p in people where p.LastName == "Schokkele" orderby p.LastName select p; foreach (Person p in personen) { Console.WriteLine(p.FirstName + " " + p.LastName); }
from p in people
select p
IEnumerable<string> firstnames = from p in people where p.LastName == "Schokkele" orderby p.LastName select p.FirstName; foreach (string fn in firstnames) { Console.WriteLine(fn); }
NorthwindDataContext db = new NorthwindDataContext(); IEnumerable<Product> producten = from p in db.Products where p.UnitPrice > 99 select p; foreach (Product p in producten) { Console.WriteLine(p.ProductName); }
IEnumerable<string> categories = from c in db.Categories
where c.Products.Count > 5
select c.CategoryName;
foreach (string cat in categories)
{
Console.WriteLine(cat);
}
Merk op dat Linq commando's omgezet worden tot SQL, hierbij wordt sorteren, filteren, selecteren van velden doorgegeven naar de database zodat geen overhead in netwerktraffiek veroorzaakt wordt.
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();
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 |