NorthwindDataContext db = new NorthwindDataContext(); var producten = from p in db.Products where p.UnitPrice > 99 select new { Id = p.ProductID, Name = p.ProductName, UnitPrice = p.UnitPrice, TotalRevenue = p.OrderDetails.Sum(o => o.UnitPrice * o.Quantity) }; foreach (var product in producten) { Console.WriteLine(product.Name +" bracht "+product.TotalRevenue +" op."); }
We maken hier dus inline een nieuw type aan met de eigenschappen Id, Name, UnitPrice en TotalRevenue
We kunnen een collectie van dergelijke elementen doorlussen en gebruiken bij Databinding
Meer over het sleutelwoord var vind je in de cursus c#
We willen per reorderlevel de producten zien die meer dan €50 kosten
het reorderlevel geeft aan tot hoeveel items de stock moet zijn gedaald om een product opnieuw te bestellen
var reorderQuery = from p in db.Products
where p.UnitPrice > 50
group p by p.ReorderLevel ;
foreach (var res in reorderQuery)
{
Console.WriteLine(res.Key);
foreach (var product in res)
{
Console.WriteLine("\t" +product.ProductName);
}
}
Deze query met Linqpad (DataContext wordt automatisch aangemaakt):
var products = from p in db.Products
where p.UnitPrice > 50
select new
{
Id = p.ProductID,
Name = p.ProductName,
Last5Orders = p.OrderDetails.Take(5)
};
foreach (var product in products)
{
Console.WriteLine("Product: " + product.Name);
foreach (var order in product.Last5Orders)
{
Console.WriteLine("\tID: " + order.OrderID + " / Qty.: " + order.Quantity);
}
}
| Meer tutorials: |
| leer ook: | html | | xhtml | | css | | asp | | asp.net | | c# | | ado.net | | linq | | ajax | | java | | javascript |