Projection Operators
Select - Simple 1This sample prints a sequence of integers one greater than those in an input array. The sample uses the expression in the select clause to add one to each element in the new sequence. public void Linq6() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var numsPlusOne = from n in numbers select n + 1; Console.WriteLine("Numbers + 1:"); foreach (var i in numsPlusOne) { Console.WriteLine(i); } }
Result Numbers + 1: 6 5 2 4 10 9 7 8 3 1
Select - Simple 2This sample prints the name of every product in the product list. It uses select to create a sequence of each product name. public void Linq7() { List products = GetProductList();
var productNames = from p in products select p.ProductName; Console.WriteLine("Product Names:"); foreach (var productName in productNames) { Console.WriteLine(productName); } }
Result Product Names: Chai Chang Aniseed Syrup Chef Anton's Cajun Seasoning Chef Anton's Gumbo Mix Grandma's Boysenberry Spread Uncle Bob's Organic Dried Pears Northwoods Cranberry Sauce Mishi Kobe Niku Ikura Queso Cabrales Queso Manchego La Pastora Konbu Tofu Genen Shouyu Pavlova Alice Mutton Carnarvon Tigers Teatime Chocolate Biscuits Sir Rodney's Marmalade Sir Rodney's Scones Gustaf's Knäckebröd Tunnbröd Guaraná Fantástica NuNuCa Nuá-Nougat-Creme Gumbär Gummibärchen Schoggi Schokolade Rössle Sauerkraut Thüringer Rostbratwurst Nord-Ost Matjeshering Gorgonzola Telino Mascarpone Fabioli Geitost Sasquatch Ale Steeleye Stout Inlagd Sill Gravad lax Côte de Blaye Chartreuse verte Boston Crab Meat Jack's New England Clam Chowder Singaporean Hokkien Fried Mee Ipoh Coffee Gula Malacca Rogede sild Spegesild Zaanse koeken Chocolade Maxilaku Valkoinen suklaa Manjimup Dried Apples Filo Mix Perth Pasties Tourtière Pâté chinois Gnocchi di nonna Alice Ravioli Angelo Escargots de Bourgogne Raclette Courdavault Camembert Pierrot Sirop d'érable Tarte au sucre Vegie-spread Wimmers gute Semmelknödel Louisiana Fiery Hot Pepper Sauce Louisiana Hot Spiced Okra Laughing Lumberjack Lager Scottish Longbreads Gudbrandsdalsost Outback Lager Flotemysost Mozzarella di Giovanni Röd Kaviar Longlife Tofu Rhönbräu Klosterbier Lakkalikööri Original Frankfurter grüne Soáe
This sample prints the name of each number in an integer array by indexing into a second array that contains the names. public void Linq8() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; string[] strings = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
var textNums = from n in numbers select strings[n]; Console.WriteLine("Number strings:"); foreach (var s in textNums) { Console.WriteLine(s); } }
Result Number strings: five four one three nine eight six seven two zero
Select - Anonymous Types 1This sample prints uppercase and lowercase versions of each string in an input array. The sample demonstrates the use of an anonymous type in the select expression. The anonymous type has two members, Upper and Lower, that are the upper and lowercase versions of the string. public void Linq9() { string[] words = { "aPPLE", "BlUeBeRrY", "cHeRry" };
var upperLowerWords = from w in words select new {Upper = w.ToUpper(), Lower = w.ToLower()};
foreach (var ul in upperLowerWords) { Console.WriteLine("Uppercase: {0}, Lowercase: {1}", ul.Upper, ul.Lower); } }
Result Uppercase: APPLE, Lowercase: apple Uppercase: BLUEBERRY, Lowercase: blueberry Uppercase: CHERRY, Lowercase: cherry
Select - Anonymous Types 2This sample iterates over each element of an input integer array to print the element's name and whether the element is odd or even. The sample uses select to produce a sequence of a new anonymous type. The anonymous type has two members, Digit and Even, that contain the text for the number and whether it is even, respectively. public void Linq10() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; string[] strings = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
var digitOddEvens = from n in numbers select new {Digit = strings[n], Even = (n % 2 == 0)};
foreach (var d in digitOddEvens) { Console.WriteLine("The digit {0} is {1}.", d.Digit, d.Even ? "even" : "odd"); } }
Result The digit five is odd. The digit four is even. The digit one is odd. The digit three is odd. The digit nine is odd. The digit eight is even. The digit six is even. The digit seven is odd. The digit two is even. The digit zero is even.
Select - Anonymous Types 3This sample prints the name of every product in the product list along with the category of the product and its unit price. The sample uses select to create a sequence of a new anonymous type, each element of which contains the relevant properties for one of the products. The ProductName and Category properties have the same name as the Product class, while the UnitPrice member is renamed to Price. public void Linq11() { List products = GetProductList();
var productInfos = from p in products select new {p.ProductName, p.Category, Price = p.UnitPrice}; Console.WriteLine("Product Info:"); foreach (var productInfo in productInfos) { Console.WriteLine("{0} is in the category {1} and costs {2} per unit.", productInfo.ProductName, productInfo.Category, productInfo.Price); } }
Result Product Info: Chai is in the category Beverages and costs 18.0000 per unit. Chang is in the category Beverages and costs 19.0000 per unit. Aniseed Syrup is in the category Condiments and costs 10.0000 per unit. Chef Anton's Cajun Seasoning is in the category Condiments and costs 22.0000 per unit. Chef Anton's Gumbo Mix is in the category Condiments and costs 21.3500 per unit. Grandma's Boysenberry Spread is in the category Condiments and costs 25.0000 per unit. Uncle Bob's Organic Dried Pears is in the category Produce and costs 30.0000 per unit. Northwoods Cranberry Sauce is in the category Condiments and costs 40.0000 per unit. Mishi Kobe Niku is in the category Meat/Poultry and costs 97.0000 per unit. Ikura is in the category Seafood and costs 31.0000 per unit. Queso Cabrales is in the category Dairy Products and costs 21.0000 per unit. Queso Manchego La Pastora is in the category Dairy Products and costs 38.0000 per unit. Konbu is in the category Seafood and costs 6.0000 per unit. Tofu is in the category Produce and costs 23.2500 per unit. Genen Shouyu is in the category Condiments and costs 15.5000 per unit. Pavlova is in the category Confections and costs 17.4500 per unit. Alice Mutton is in the category Meat/Poultry and costs 39.0000 per unit. Carnarvon Tigers is in the category Seafood and costs 62.5000 per unit. Teatime Chocolate Biscuits is in the category Confections and costs 9.2000 per unit. Sir Rodney's Marmalade is in the category Confections and costs 81.0000 per unit. Sir Rodney's Scones is in the category Confections and costs 10.0000 per unit. Gustaf's Knäckebröd is in the category Grains/Cereals and costs 21.0000 per unit. Tunnbröd is in the category Grains/Cereals and costs 9.0000 per unit. Guaraná Fantástica is in the category Beverages and costs 4.5000 per unit. NuNuCa Nuá-Nougat-Creme is in the category Confections and costs 14.0000 per unit. Gumbär Gummibärchen is in the category Confections and costs 31.2300 per unit. Schoggi Schokolade is in the category Confections and costs 43.9000 per unit. Rössle Sauerkraut is in the category Produce and costs 45.6000 per unit. Thüringer Rostbratwurst is in the category Meat/Poultry and costs 123.7900 per unit. Nord-Ost Matjeshering is in the category Seafood and costs 25.8900 per unit. Gorgonzola Telino is in the category Dairy Products and costs 12.5000 per unit. Mascarpone Fabioli is in the category Dairy Products and costs 32.0000 per unit. Geitost is in the category Dairy Products and costs 2.5000 per unit. Sasquatch Ale is in the category Beverages and costs 14.0000 per unit. Steeleye Stout is in the category Beverages and costs 18.0000 per unit. Inlagd Sill is in the category Seafood and costs 19.0000 per unit. Gravad lax is in the category Seafood and costs 26.0000 per unit. Côte de Blaye is in the category Beverages and costs 263.5000 per unit. Chartreuse verte is in the category Beverages and costs 18.0000 per unit. Boston Crab Meat is in the category Seafood and costs 18.4000 per unit. Jack's New England Clam Chowder is in the category Seafood and costs 9.6500 per unit. Singaporean Hokkien Fried Mee is in the category Grains/Cereals and costs 14.0000 per unit. Ipoh Coffee is in the category Beverages and costs 46.0000 per unit. Gula Malacca is in the category Condiments and costs 19.4500 per unit. Rogede sild is in the category Seafood and costs 9.5000 per unit. Spegesild is in the category Seafood and costs 12.0000 per unit. Zaanse koeken is in the category Confections and costs 9.5000 per unit. Chocolade is in the category Confections and costs 12.7500 per unit. Maxilaku is in the category Confections and costs 20.0000 per unit. Valkoinen suklaa is in the category Confections and costs 16.2500 per unit. Manjimup Dried Apples is in the category Produce and costs 53.0000 per unit. Filo Mix is in the category Grains/Cereals and costs 7.0000 per unit. Perth Pasties is in the category Meat/Poultry and costs 32.8000 per unit. Tourtière is in the category Meat/Poultry and costs 7.4500 per unit. Pâté chinois is in the category Meat/Poultry and costs 24.0000 per unit. Gnocchi di nonna Alice is in the category Grains/Cereals and costs 38.0000 per unit. Ravioli Angelo is in the category Grains/Cereals and costs 19.5000 per unit. Escargots de Bourgogne is in the category Seafood and costs 13.2500 per unit. Raclette Courdavault is in the category Dairy Products and costs 55.0000 per unit. Camembert Pierrot is in the category Dairy Products and costs 34.0000 per unit. Sirop d'érable is in the category Condiments and costs 28.5000 per unit. Tarte au sucre is in the category Confections and costs 49.3000 per unit. Vegie-spread is in the category Condiments and costs 43.9000 per unit. Wimmers gute Semmelknödel is in the category Grains/Cereals and costs 33.2500 per unit. Louisiana Fiery Hot Pepper Sauce is in the category Condiments and costs 21.0500 per unit. Louisiana Hot Spiced Okra is in the category Condiments and costs 17.0000 per unit. Laughing Lumberjack Lager is in the category Beverages and costs 14.0000 per unit. Scottish Longbreads is in the category Confections and costs 12.5000 per unit. Gudbrandsdalsost is in the category Dairy Products and costs 36.0000 per unit. Outback Lager is in the category Beverages and costs 15.0000 per unit. Flotemysost is in the category Dairy Products and costs 21.5000 per unit. Mozzarella di Giovanni is in the category Dairy Products and costs 34.8000 per unit. Röd Kaviar is in the category Seafood and costs 15.0000 per unit. Longlife Tofu is in the category Produce and costs 10.0000 per unit. Rhönbräu Klosterbier is in the category Beverages and costs 7.7500 per unit. Lakkalikööri is in the category Beverages and costs 18.0000 per unit. Original Frankfurter grüne Soáe is in the category Condiments and costs 13.0000 per unit.
Select - IndexedFor each element in an input integer array, this sample prints the value of the integer and whether it matches its index in the array. The sample uses an indexed Select clause to create a sequence of an anonymous type, each element of which has two properties: the number itself, and a boolean value to indicate whether the number matches its position. public void Linq12() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var numsInPlace = numbers.Select((num, index) => new {Num = num, InPlace = (num == index)});
Console.WriteLine("Number: In-place?"); foreach (var n in numsInPlace) { Console.WriteLine("{0}: {1}", n.Num, n.InPlace); } }
Result Number: In-place? 5: False 4: False 1: False 3: True 9: False 8: False 6: True 7: True 2: False 0: False
Select - FilteredThis sample prints the name of each element of an integer array that is less than 5. The sample combines select and where to make a simple query that indexes into a string array that contains the names. public void Linq13() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; string[] digits = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
var lowNums = from n in numbers where n < 5 select digits[n]; Console.WriteLine("Numbers < 5:"); foreach (var num in lowNums) { Console.WriteLine(num); } }
Result Numbers < 5: four one three two zero
SelectMany - Compound from 1This sample identifies ordered pairs of integers, such that the first number is an alement of one integer array and the second number is an element of another integer array, and the first number is less than the second. The sample uses a compound from clause to compose a query that returns a sequence of the pairs. public void Linq14() { int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 }; int[] numbersB = { 1, 3, 5, 7, 8 };
var pairs = from a in numbersA, b in numbersB where a < b select new {a, b};
Console.WriteLine("Pairs where a < b:"); foreach (var pair in pairs) { Console.WriteLine("{0} is less than {1}", pair.a, pair.b); } }
Result Pairs where a < b: 0 is less than 1 0 is less than 3 0 is less than 5 0 is less than 7 0 is less than 8 2 is less than 3 2 is less than 5 2 is less than 7 2 is less than 8 4 is less than 5 4 is less than 7 4 is less than 8 5 is less than 7 5 is less than 8 6 is less than 7 6 is less than 8
SelectMany - Compound from 2This sample prints all orders whose total is less that 500. The sample uses a compound from clause and selects fields from the customer and order classes. public void Linq15() { List customers = GetCustomerList();
var orders = from c in customers, o in c.Orders where o.Total < 500.00M select new {c.CustomerID, o.OrderID, o.Total};
ObjectDumper.Write(orders); }
Result CustomerID=ALFKI OrderID=10702 Total=330.00 CustomerID=ALFKI OrderID=10952 Total=471.20 CustomerID=ANATR OrderID=10308 Total=88.80 CustomerID=ANATR OrderID=10625 Total=479.75 CustomerID=ANATR OrderID=10759 Total=320.00 CustomerID=ANTON OrderID=10365 Total=403.20 CustomerID=ANTON OrderID=10682 Total=375.50 CustomerID=AROUT OrderID=10355 Total=480.00 CustomerID=AROUT OrderID=10453 Total=407.70 CustomerID=AROUT OrderID=10741 Total=228.00 CustomerID=AROUT OrderID=10743 Total=319.20 CustomerID=AROUT OrderID=10793 Total=191.10 CustomerID=AROUT OrderID=10864 Total=282.00 CustomerID=AROUT OrderID=10920 Total=390.00 CustomerID=AROUT OrderID=11016 Total=491.50 CustomerID=BERGS OrderID=10445 Total=174.90 CustomerID=BERGS OrderID=10689 Total=472.50 CustomerID=BERGS OrderID=10778 Total=96.50 CustomerID=BLAUS OrderID=10501 Total=149.00 CustomerID=BLAUS OrderID=10509 Total=136.80 CustomerID=BLAUS OrderID=10582 Total=330.00 CustomerID=BLAUS OrderID=10614 Total=464.00 CustomerID=BLONP OrderID=10628 Total=450.00 CustomerID=BOLID OrderID=10970 Total=224.00 CustomerID=BONAP OrderID=10331 Total=88.50 CustomerID=BONAP OrderID=10730 Total=484.26 CustomerID=BONAP OrderID=10732 Total=360.00 CustomerID=BONAP OrderID=10940 Total=360.00 CustomerID=BSBEV OrderID=10289 Total=479.40 CustomerID=BSBEV OrderID=10484 Total=386.20 CustomerID=BSBEV OrderID=10538 Total=139.80 CustomerID=BSBEV OrderID=10539 Total=355.50 CustomerID=BSBEV OrderID=10578 Total=477.00 CustomerID=BSBEV OrderID=10599 Total=493.00 CustomerID=BSBEV OrderID=10947 Total=220.00 CustomerID=CACTU OrderID=10521 Total=225.50 CustomerID=CACTU OrderID=10782 Total=12.50 CustomerID=CACTU OrderID=10819 Total=477.00 CustomerID=CACTU OrderID=10881 Total=150.00 CustomerID=CACTU OrderID=11054 Total=305.00 CustomerID=CENTC OrderID=10259 Total=100.80 CustomerID=COMMI OrderID=10466 Total=216.00 CustomerID=COMMI OrderID=10969 Total=108.00 CustomerID=COMMI OrderID=11042 Total=405.75 CustomerID=CONSH OrderID=10462 Total=156.00 CustomerID=DRACD OrderID=10363 Total=447.20 CustomerID=DRACD OrderID=10391 Total=86.40 CustomerID=DRACD OrderID=10797 Total=420.00 CustomerID=DRACD OrderID=11067 Total=86.85 CustomerID=DUMON OrderID=10311 Total=268.80 CustomerID=DUMON OrderID=10609 Total=424.00 CustomerID=DUMON OrderID=10683 Total=63.00 CustomerID=ERNSH OrderID=10771 Total=344.00 CustomerID=FAMIA OrderID=10386 Total=166.00 CustomerID=FAMIA OrderID=10414 Total=224.83 CustomerID=FAMIA OrderID=10581 Total=310.00 CustomerID=FAMIA OrderID=10725 Total=287.80 CustomerID=FOLKO OrderID=10378 Total=103.20 CustomerID=FOLKO OrderID=10434 Total=321.12 CustomerID=FOLKO OrderID=10460 Total=176.10 CustomerID=FOLKO OrderID=10824 Total=250.80 CustomerID=FOLKO OrderID=10955 Total=74.40 CustomerID=FOLKO OrderID=10980 Total=248.00 CustomerID=FRANS OrderID=10422 Total=49.80 CustomerID=FRANS OrderID=10710 Total=93.50 CustomerID=FRANS OrderID=10753 Total=88.00 CustomerID=FRANS OrderID=10807 Total=18.40 CustomerID=FRANS OrderID=11060 Total=266.00 CustomerID=FURIB OrderID=10352 Total=136.30 CustomerID=FURIB OrderID=10491 Total=259.50 CustomerID=FURIB OrderID=10604 Total=230.85 CustomerID=FURIB OrderID=10963 Total=57.80 CustomerID=GALED OrderID=10366 Total=136.00 CustomerID=GALED OrderID=10426 Total=338.20 CustomerID=GALED OrderID=10568 Total=155.00 CustomerID=GALED OrderID=10887 Total=70.00 CustomerID=GALED OrderID=10928 Total=137.50 CustomerID=GODOS OrderID=10874 Total=310.00 CustomerID=GODOS OrderID=11037 Total=60.00 CustomerID=GOURL OrderID=10652 Total=318.84 CustomerID=GOURL OrderID=10777 Total=224.00 CustomerID=GOURL OrderID=10959 Total=131.75 CustomerID=GOURL OrderID=11049 Total=273.60 CustomerID=GREAL OrderID=10528 Total=392.20 CustomerID=GREAL OrderID=10589 Total=72.00 CustomerID=GREAL OrderID=10936 Total=456.00 CustomerID=GREAL OrderID=11006 Total=329.68 CustomerID=GREAL OrderID=11040 Total=200.00 CustomerID=GROSR OrderID=10785 Total=387.50 CustomerID=HANAR OrderID=10770 Total=236.25 CustomerID=HANAR OrderID=10925 Total=475.15 CustomerID=HILAA OrderID=10476 Total=180.48 CustomerID=HILAA OrderID=10613 Total=353.20 CustomerID=HILAA OrderID=10705 Total=378.00 CustomerID=HILAA OrderID=10863 Total=441.15 CustomerID=HILAA OrderID=10960 Total=265.35 CustomerID=HUNGC OrderID=10375 Total=338.00 CustomerID=HUNGC OrderID=10394 Total=442.00 CustomerID=HUNGC OrderID=10415 Total=102.40 CustomerID=HUNGC OrderID=10600 Total=479.80 CustomerID=ISLAT OrderID=10318 Total=240.40 CustomerID=ISLAT OrderID=10321 Total=144.00 CustomerID=ISLAT OrderID=10473 Total=230.40 CustomerID=ISLAT OrderID=10674 Total=45.00 CustomerID=ISLAT OrderID=10798 Total=446.60 CustomerID=KOENE OrderID=10323 Total=164.40 CustomerID=KOENE OrderID=10506 Total=415.80 CustomerID=KOENE OrderID=10542 Total=469.11 CustomerID=LACOR OrderID=10972 Total=251.50 CustomerID=LACOR OrderID=10973 Total=291.55 CustomerID=LAMAI OrderID=10358 Total=429.40 CustomerID=LAMAI OrderID=10371 Total=72.96 CustomerID=LAMAI OrderID=10425 Total=360.00 CustomerID=LAMAI OrderID=10454 Total=331.20 CustomerID=LAMAI OrderID=10610 Total=299.25 CustomerID=LAMAI OrderID=10631 Total=55.80 CustomerID=LAMAI OrderID=10832 Total=475.11 CustomerID=LAMAI OrderID=11051 Total=36.00 CustomerID=LAUGB OrderID=10495 Total=278.00 CustomerID=LAUGB OrderID=10620 Total=57.50 CustomerID=LAUGB OrderID=10810 Total=187.00 CustomerID=LAZYK OrderID=10482 Total=147.00 CustomerID=LAZYK OrderID=10545 Total=210.00 CustomerID=LEHMS OrderID=10279 Total=351.00 CustomerID=LEHMS OrderID=10534 Total=465.70 CustomerID=LEHMS OrderID=10891 Total=368.93 CustomerID=LETSS OrderID=10579 Total=317.75 CustomerID=LILAS OrderID=10381 Total=112.00 CustomerID=LILAS OrderID=10899 Total=122.40 CustomerID=LILAS OrderID=11065 Total=189.42 CustomerID=LILAS OrderID=11071 Total=484.50 CustomerID=LINOD OrderID=10405 Total=400.00 CustomerID=LINOD OrderID=10840 Total=211.20 CustomerID=LINOD OrderID=11014 Total=243.18 CustomerID=LONEP OrderID=10307 Total=424.00 CustomerID=LONEP OrderID=10317 Total=288.00 CustomerID=LONEP OrderID=10544 Total=417.20 CustomerID=LONEP OrderID=10662 Total=125.00 CustomerID=LONEP OrderID=10867 Total=98.40 CustomerID=LONEP OrderID=10883 Total=36.00 CustomerID=MAGAA OrderID=10275 Total=291.84 CustomerID=MAGAA OrderID=10467 Total=235.20 CustomerID=MAGAA OrderID=10754 Total=55.20 CustomerID=MAGAA OrderID=10950 Total=110.00 CustomerID=MAISD OrderID=11004 Total=295.38 CustomerID=MEREP OrderID=10376 Total=399.00 CustomerID=MEREP OrderID=10505 Total=147.90 CustomerID=MORGK OrderID=10699 Total=114.00 CustomerID=MORGK OrderID=10945 Total=245.00 CustomerID=NORTS OrderID=10517 Total=352.00 CustomerID=NORTS OrderID=10752 Total=252.00 CustomerID=NORTS OrderID=11057 Total=45.00 CustomerID=OCEAN OrderID=10409 Total=319.20 CustomerID=OCEAN OrderID=10531 Total=110.00 CustomerID=OCEAN OrderID=10898 Total=30.00 CustomerID=OTTIK OrderID=10508 Total=240.00 CustomerID=PERIC OrderID=10322 Total=112.00 CustomerID=PERIC OrderID=11073 Total=300.00 CustomerID=PICCO OrderID=10489 Total=439.20 CustomerID=PRINI OrderID=10336 Total=285.12 CustomerID=QUEDE OrderID=10261 Total=448.00 CustomerID=QUEDE OrderID=10291 Total=497.52 CustomerID=QUEDE OrderID=10794 Total=314.76 CustomerID=QUICK OrderID=10313 Total=182.40 CustomerID=RANCH OrderID=10448 Total=443.40 CustomerID=RANCH OrderID=11019 Total=76.00 CustomerID=REGGC OrderID=10288 Total=80.10 CustomerID=REGGC OrderID=10428 Total=192.00 CustomerID=REGGC OrderID=10562 Total=488.70 CustomerID=REGGC OrderID=10586 Total=23.80 CustomerID=REGGC OrderID=10655 Total=154.40 CustomerID=REGGC OrderID=11062 Total=406.40 CustomerID=RICAR OrderID=10299 Total=349.50 CustomerID=RICAR OrderID=10648 Total=372.38 CustomerID=RICSU OrderID=10951 Total=458.76 CustomerID=RICSU OrderID=11075 Total=498.10 CustomerID=ROMEY OrderID=10281 Total=86.50 CustomerID=ROMEY OrderID=10282 Total=155.40 CustomerID=ROMEY OrderID=10306 Total=498.50 CustomerID=ROMEY OrderID=10917 Total=365.89 CustomerID=ROMEY OrderID=11013 Total=361.00 CustomerID=SANTG OrderID=10520 Total=200.00 CustomerID=SAVEA OrderID=10815 Total=40.00 CustomerID=SIMOB OrderID=10341 Total=352.60 CustomerID=SIMOB OrderID=11074 Total=232.08 CustomerID=SPECD OrderID=10738 Total=52.35 CustomerID=SPECD OrderID=10907 Total=108.50 CustomerID=SPECD OrderID=11043 Total=210.00 CustomerID=SPLIR OrderID=10271 Total=48.00 CustomerID=SPLIR OrderID=10349 Total=141.60 CustomerID=SPLIR OrderID=10432 Total=485.00 CustomerID=SPLIR OrderID=10974 Total=439.00 CustomerID=SUPRD OrderID=10767 Total=28.00 CustomerID=THEBI OrderID=10310 Total=336.00 CustomerID=THEBI OrderID=10708 Total=180.40 CustomerID=THEBI OrderID=10992 Total=69.60 CustomerID=THECR OrderID=10775 Total=228.00 CustomerID=THECR OrderID=11003 Total=326.00 CustomerID=TOMSP OrderID=10438 Total=454.00 CustomerID=TOMSP OrderID=10446 Total=246.24 CustomerID=TOMSP OrderID=10548 Total=240.10 CustomerID=TORTU OrderID=10276 Total=420.00 CustomerID=TORTU OrderID=11069 Total=360.00 CustomerID=TRADH OrderID=10496 Total=190.00 CustomerID=TRAIH OrderID=10822 Total=237.90 CustomerID=VAFFE OrderID=10602 Total=48.75 CustomerID=VICTE OrderID=10334 Total=144.80 CustomerID=VICTE OrderID=10450 Total=425.12 CustomerID=VICTE OrderID=10478 Total=471.20 CustomerID=VICTE OrderID=10806 Total=439.60 CustomerID=VICTE OrderID=10843 Total=159.00 CustomerID=VINET OrderID=10295 Total=121.60 CustomerID=VINET OrderID=10737 Total=139.80 CustomerID=VINET OrderID=10739 Total=240.00 CustomerID=WANDK OrderID=10348 Total=363.60 CustomerID=WANDK OrderID=10651 Total=397.80 CustomerID=WARTH OrderID=10266 Total=346.56 CustomerID=WARTH OrderID=10412 Total=334.80 CustomerID=WARTH OrderID=10437 Total=393.00 CustomerID=WARTH OrderID=11025 Total=270.00 CustomerID=WELLI OrderID=10585 Total=142.50 CustomerID=WELLI OrderID=10809 Total=140.00 CustomerID=WELLI OrderID=10900 Total=33.75 CustomerID=WELLI OrderID=10905 Total=342.00 CustomerID=WHITC OrderID=10723 Total=468.45 CustomerID=WILMK OrderID=10248 Total=440.00 CustomerID=WILMK OrderID=10615 Total=120.00 CustomerID=WILMK OrderID=10673 Total=412.35 CustomerID=WILMK OrderID=10873 Total=336.80 CustomerID=WILMK OrderID=10910 Total=452.90 CustomerID=WOLZA OrderID=10374 Total=459.00 CustomerID=WOLZA OrderID=10792 Total=399.85 CustomerID=WOLZA OrderID=10870 Total=160.00 CustomerID=WOLZA OrderID=10906 Total=427.50
SelectMany - Compound from 3This sample uses a compound from clause to select all orders where the order was made in 1998 or later. public void Linq16() { List customers = GetCustomerList();
var orders = from c in customers, o in c.Orders where o.OrderDate >= new DateTime(1998, 1, 1) select new {c.CustomerID, o.OrderID, o.OrderDate};
ObjectDumper.Write(orders); }
Result CustomerID=ALFKI OrderID=10835 OrderDate=1/15/1998 CustomerID=ALFKI OrderID=10952 OrderDate=3/16/1998 CustomerID=ALFKI OrderID=11011 OrderDate=4/9/1998 CustomerID=ANATR OrderID=10926 OrderDate=3/4/1998 CustomerID=ANTON OrderID=10856 OrderDate=1/28/1998 CustomerID=AROUT OrderID=10864 OrderDate=2/2/1998 CustomerID=AROUT OrderID=10920 OrderDate=3/3/1998 CustomerID=AROUT OrderID=10953 OrderDate=3/16/1998 CustomerID=AROUT OrderID=11016 OrderDate=4/10/1998 CustomerID=BERGS OrderID=10837 OrderDate=1/16/1998 CustomerID=BERGS OrderID=10857 OrderDate=1/28/1998 CustomerID=BERGS OrderID=10866 OrderDate=2/3/1998 CustomerID=BERGS OrderID=10875 OrderDate=2/6/1998 CustomerID=BERGS OrderID=10924 OrderDate=3/4/1998 CustomerID=BLAUS OrderID=10853 OrderDate=1/27/1998 CustomerID=BLAUS OrderID=10956 OrderDate=3/17/1998 CustomerID=BLAUS OrderID=11058 OrderDate=4/29/1998 CustomerID=BLONP OrderID=10826 OrderDate=1/12/1998 CustomerID=BOLID OrderID=10970 OrderDate=3/24/1998 CustomerID=BONAP OrderID=10827 OrderDate=1/12/1998 CustomerID=BONAP OrderID=10871 OrderDate=2/5/1998 CustomerID=BONAP OrderID=10876 OrderDate=2/9/1998 CustomerID=BONAP OrderID=10932 OrderDate=3/6/1998 CustomerID=BONAP OrderID=10940 OrderDate=3/11/1998 CustomerID=BONAP OrderID=11076 OrderDate=5/6/1998 CustomerID=BOTTM OrderID=10918 OrderDate=3/2/1998 CustomerID=BOTTM OrderID=10944 OrderDate=3/12/1998 CustomerID=BOTTM OrderID=10949 OrderDate=3/13/1998 CustomerID=BOTTM OrderID=10975 OrderDate=3/25/1998 CustomerID=BOTTM OrderID=10982 OrderDate=3/27/1998 CustomerID=BOTTM OrderID=11027 OrderDate=4/16/1998 CustomerID=BOTTM OrderID=11045 OrderDate=4/23/1998 CustomerID=BOTTM OrderID=11048 OrderDate=4/24/1998 CustomerID=BSBEV OrderID=10943 OrderDate=3/11/1998 CustomerID=BSBEV OrderID=10947 OrderDate=3/13/1998 CustomerID=BSBEV OrderID=11023 OrderDate=4/14/1998 CustomerID=CACTU OrderID=10819 OrderDate=1/7/1998 CustomerID=CACTU OrderID=10881 OrderDate=2/11/1998 CustomerID=CACTU OrderID=10937 OrderDate=3/10/1998 CustomerID=CACTU OrderID=11054 OrderDate=4/28/1998 CustomerID=CHOPS OrderID=10966 OrderDate=3/20/1998 CustomerID=CHOPS OrderID=11029 OrderDate=4/16/1998 CustomerID=CHOPS OrderID=11041 OrderDate=4/22/1998 CustomerID=COMMI OrderID=10969 OrderDate=3/23/1998 CustomerID=COMMI OrderID=11042 OrderDate=4/22/1998 CustomerID=CONSH OrderID=10848 OrderDate=1/23/1998 CustomerID=DRACD OrderID=10825 OrderDate=1/9/1998 CustomerID=DRACD OrderID=11036 OrderDate=4/20/1998 CustomerID=DRACD OrderID=11067 OrderDate=5/4/1998 CustomerID=DUMON OrderID=10890 OrderDate=2/16/1998 CustomerID=EASTC OrderID=10987 OrderDate=3/31/1998 CustomerID=EASTC OrderID=11024 OrderDate=4/15/1998 CustomerID=EASTC OrderID=11047 OrderDate=4/24/1998 CustomerID=EASTC OrderID=11056 OrderDate=4/28/1998 CustomerID=ERNSH OrderID=10836 OrderDate=1/16/1998 CustomerID=ERNSH OrderID=10854 OrderDate=1/27/1998 CustomerID=ERNSH OrderID=10895 OrderDate=2/18/1998 CustomerID=ERNSH OrderID=10968 OrderDate=3/23/1998 CustomerID=ERNSH OrderID=10979 OrderDate=3/26/1998 CustomerID=ERNSH OrderID=10990 OrderDate=4/1/1998 CustomerID=ERNSH OrderID=11008 OrderDate=4/8/1998 CustomerID=ERNSH OrderID=11017 OrderDate=4/13/1998 CustomerID=ERNSH OrderID=11072 OrderDate=5/5/1998 CustomerID=FOLKO OrderID=10824 OrderDate=1/9/1998 CustomerID=FOLKO OrderID=10880 OrderDate=2/10/1998 CustomerID=FOLKO OrderID=10902 OrderDate=2/23/1998 CustomerID=FOLKO OrderID=10955 OrderDate=3/17/1998 CustomerID=FOLKO OrderID=10977 OrderDate=3/26/1998 CustomerID=FOLKO OrderID=10980 OrderDate=3/27/1998 CustomerID=FOLKO OrderID=10993 OrderDate=4/1/1998 CustomerID=FOLKO OrderID=11001 OrderDate=4/6/1998 CustomerID=FOLKO OrderID=11050 OrderDate=4/27/1998 CustomerID=FRANK OrderID=10859 OrderDate=1/29/1998 CustomerID=FRANK OrderID=10929 OrderDate=3/5/1998 CustomerID=FRANK OrderID=11012 OrderDate=4/9/1998 CustomerID=FRANR OrderID=10860 OrderDate=1/29/1998 CustomerID=FRANR OrderID=10971 OrderDate=3/24/1998 CustomerID=FRANS OrderID=11026 OrderDate=4/15/1998 CustomerID=FRANS OrderID=11060 OrderDate=4/30/1998 CustomerID=FURIB OrderID=10963 OrderDate=3/19/1998 CustomerID=GALED OrderID=10887 OrderDate=2/13/1998 CustomerID=GALED OrderID=10928 OrderDate=3/5/1998 CustomerID=GODOS OrderID=10872 OrderDate=2/5/1998 CustomerID=GODOS OrderID=10874 OrderDate=2/6/1998 CustomerID=GODOS OrderID=10888 OrderDate=2/16/1998 CustomerID=GODOS OrderID=10911 OrderDate=2/26/1998 CustomerID=GODOS OrderID=10948 OrderDate=3/13/1998 CustomerID=GODOS OrderID=11009 OrderDate=4/8/1998 CustomerID=GODOS OrderID=11037 OrderDate=4/21/1998 CustomerID=GOURL OrderID=10959 OrderDate=3/18/1998 CustomerID=GOURL OrderID=11049 OrderDate=4/24/1998 CustomerID=GREAL OrderID=10816 OrderDate=1/6/1998 CustomerID=GREAL OrderID=10936 OrderDate=3/9/1998 CustomerID=GREAL OrderID=11006 OrderDate=4/7/1998 CustomerID=GREAL OrderID=11040 OrderDate=4/22/1998 CustomerID=GREAL OrderID=11061 OrderDate=4/30/1998 CustomerID=HANAR OrderID=10886 OrderDate=2/13/1998 CustomerID=HANAR OrderID=10903 OrderDate=2/24/1998 CustomerID=HANAR OrderID=10922 OrderDate=3/3/1998 CustomerID=HANAR OrderID=10925 OrderDate=3/4/1998 CustomerID=HANAR OrderID=10981 OrderDate=3/27/1998 CustomerID=HANAR OrderID=11022 OrderDate=4/14/1998 CustomerID=HANAR OrderID=11052 OrderDate=4/27/1998 CustomerID=HILAA OrderID=10863 OrderDate=2/2/1998 CustomerID=HILAA OrderID=10901 OrderDate=2/23/1998 CustomerID=HILAA OrderID=10957 OrderDate=3/18/1998 CustomerID=HILAA OrderID=10960 OrderDate=3/19/1998 CustomerID=HILAA OrderID=10976 OrderDate=3/25/1998 CustomerID=HILAA OrderID=11055 OrderDate=4/28/1998 CustomerID=HUNGO OrderID=10897 OrderDate=2/19/1998 CustomerID=HUNGO OrderID=10912 OrderDate=2/26/1998 CustomerID=HUNGO OrderID=10985 OrderDate=3/30/1998 CustomerID=HUNGO OrderID=11063 OrderDate=4/30/1998 CustomerID=ISLAT OrderID=10829 OrderDate=1/13/1998 CustomerID=ISLAT OrderID=10933 OrderDate=3/6/1998 CustomerID=KOENE OrderID=10817 OrderDate=1/6/1998 CustomerID=KOENE OrderID=10849 OrderDate=1/23/1998 CustomerID=KOENE OrderID=10893 OrderDate=2/18/1998 CustomerID=KOENE OrderID=11028 OrderDate=4/16/1998 CustomerID=LACOR OrderID=10858 OrderDate=1/29/1998 CustomerID=LACOR OrderID=10927 OrderDate=3/5/1998 CustomerID=LACOR OrderID=10972 OrderDate=3/24/1998 CustomerID=LACOR OrderID=10973 OrderDate=3/24/1998 CustomerID=LAMAI OrderID=10832 OrderDate=1/14/1998 CustomerID=LAMAI OrderID=10923 OrderDate=3/3/1998 CustomerID=LAMAI OrderID=11051 OrderDate=4/27/1998 CustomerID=LAUGB OrderID=10810 OrderDate=1/1/1998 CustomerID=LEHMS OrderID=10862 OrderDate=1/30/1998 CustomerID=LEHMS OrderID=10891 OrderDate=2/17/1998 CustomerID=LEHMS OrderID=10934 OrderDate=3/9/1998 CustomerID=LEHMS OrderID=11070 OrderDate=5/5/1998 CustomerID=LETSS OrderID=10884 OrderDate=2/12/1998 CustomerID=LILAS OrderID=10823 OrderDate=1/9/1998 CustomerID=LILAS OrderID=10899 OrderDate=2/20/1998 CustomerID=LILAS OrderID=10997 OrderDate=4/3/1998 CustomerID=LILAS OrderID=11065 OrderDate=5/1/1998 CustomerID=LILAS OrderID=11071 OrderDate=5/5/1998 CustomerID=LINOD OrderID=10811 OrderDate=1/2/1998 CustomerID=LINOD OrderID=10838 OrderDate=1/19/1998 CustomerID=LINOD OrderID=10840 OrderDate=1/19/1998 CustomerID=LINOD OrderID=10919 OrderDate=3/2/1998 CustomerID=LINOD OrderID=10954 OrderDate=3/17/1998 CustomerID=LINOD OrderID=11014 OrderDate=4/10/1998 CustomerID=LINOD OrderID=11039 OrderDate=4/21/1998 CustomerID=LONEP OrderID=10867 OrderDate=2/3/1998 CustomerID=LONEP OrderID=10883 OrderDate=2/12/1998 CustomerID=LONEP OrderID=11018 OrderDate=4/13/1998 CustomerID=MAGAA OrderID=10818 OrderDate=1/7/1998 CustomerID=MAGAA OrderID=10939 OrderDate=3/10/1998 CustomerID=MAGAA OrderID=10950 OrderDate=3/16/1998 CustomerID=MAISD OrderID=10892 OrderDate=2/17/1998 CustomerID=MAISD OrderID=10896 OrderDate=2/19/1998 CustomerID=MAISD OrderID=10978 OrderDate=3/26/1998 CustomerID=MAISD OrderID=11004 OrderDate=4/7/1998 CustomerID=MORGK OrderID=10945 OrderDate=3/12/1998 CustomerID=NORTS OrderID=11057 OrderDate=4/29/1998 CustomerID=OCEAN OrderID=10898 OrderDate=2/20/1998 CustomerID=OCEAN OrderID=10958 OrderDate=3/18/1998 CustomerID=OCEAN OrderID=10986 OrderDate=3/30/1998 CustomerID=OLDWO OrderID=10855 OrderDate=1/27/1998 CustomerID=OLDWO OrderID=10965 OrderDate=3/20/1998 CustomerID=OLDWO OrderID=11034 OrderDate=4/20/1998 CustomerID=OTTIK OrderID=10833 OrderDate=1/15/1998 CustomerID=OTTIK OrderID=10999 OrderDate=4/3/1998 CustomerID=OTTIK OrderID=11020 OrderDate=4/14/1998 CustomerID=PERIC OrderID=10995 OrderDate=4/2/1998 CustomerID=PERIC OrderID=11073 OrderDate=5/5/1998 CustomerID=PICCO OrderID=10844 OrderDate=1/21/1998 CustomerID=PICCO OrderID=11053 OrderDate=4/27/1998 CustomerID=PRINI OrderID=10808 OrderDate=1/1/1998 CustomerID=PRINI OrderID=11007 OrderDate=4/8/1998 CustomerID=QUEDE OrderID=10989 OrderDate=3/31/1998 CustomerID=QUEEN OrderID=10868 OrderDate=2/4/1998 CustomerID=QUEEN OrderID=10913 OrderDate=2/26/1998 CustomerID=QUEEN OrderID=10914 OrderDate=2/27/1998 CustomerID=QUEEN OrderID=10961 OrderDate=3/19/1998 CustomerID=QUEEN OrderID=11068 OrderDate=5/4/1998 CustomerID=QUICK OrderID=10845 OrderDate=1/21/1998 CustomerID=QUICK OrderID=10865 OrderDate=2/2/1998 CustomerID=QUICK OrderID=10878 OrderDate=2/10/1998 CustomerID=QUICK OrderID=10938 OrderDate=3/10/1998 CustomerID=QUICK OrderID=10962 OrderDate=3/19/1998 CustomerID=QUICK OrderID=10991 OrderDate=4/1/1998 CustomerID=QUICK OrderID=10996 OrderDate=4/2/1998 CustomerID=QUICK OrderID=11021 OrderDate=4/14/1998 CustomerID=RANCH OrderID=10828 OrderDate=1/13/1998 CustomerID=RANCH OrderID=10916 OrderDate=2/27/1998 CustomerID=RANCH OrderID=11019 OrderDate=4/13/1998 CustomerID=RATTC OrderID=10820 OrderDate=1/7/1998 CustomerID=RATTC OrderID=10852 OrderDate=1/26/1998 CustomerID=RATTC OrderID=10889 OrderDate=2/16/1998 CustomerID=RATTC OrderID=10988 OrderDate=3/31/1998 CustomerID=RATTC OrderID=11000 OrderDate=4/6/1998 CustomerID=RATTC OrderID=11077 OrderDate=5/6/1998 CustomerID=REGGC OrderID=10812 OrderDate=1/2/1998 CustomerID=REGGC OrderID=10908 OrderDate=2/26/1998 CustomerID=REGGC OrderID=10942 OrderDate=3/11/1998 CustomerID=REGGC OrderID=11010 OrderDate=4/9/1998 CustomerID=REGGC OrderID=11062 OrderDate=4/30/1998 CustomerID=RICAR OrderID=10813 OrderDate=1/5/1998 CustomerID=RICAR OrderID=10851 OrderDate=1/26/1998 CustomerID=RICAR OrderID=10877 OrderDate=2/9/1998 CustomerID=RICAR OrderID=11059 OrderDate=4/29/1998 CustomerID=RICSU OrderID=10931 OrderDate=3/6/1998 CustomerID=RICSU OrderID=10951 OrderDate=3/16/1998 CustomerID=RICSU OrderID=11033 OrderDate=4/17/1998 CustomerID=RICSU OrderID=11075 OrderDate=5/6/1998 CustomerID=ROMEY OrderID=10917 OrderDate=3/2/1998 CustomerID=ROMEY OrderID=11013 OrderDate=4/9/1998 CustomerID=SANTG OrderID=10831 OrderDate=1/14/1998 CustomerID=SANTG OrderID=10909 OrderDate=2/26/1998 CustomerID=SANTG OrderID=11015 OrderDate=4/10/1998 CustomerID=SAVEA OrderID=10815 OrderDate=1/5/1998 CustomerID=SAVEA OrderID=10847 OrderDate=1/22/1998 CustomerID=SAVEA OrderID=10882 OrderDate=2/11/1998 CustomerID=SAVEA OrderID=10894 OrderDate=2/18/1998 CustomerID=SAVEA OrderID=10941 OrderDate=3/11/1998 CustomerID=SAVEA OrderID=10983 OrderDate=3/27/1998 CustomerID=SAVEA OrderID=10984 OrderDate=3/30/1998 CustomerID=SAVEA OrderID=11002 OrderDate=4/6/1998 CustomerID=SAVEA OrderID=11030 OrderDate=4/17/1998 CustomerID=SAVEA OrderID=11031 OrderDate=4/17/1998 CustomerID=SAVEA OrderID=11064 OrderDate=5/1/1998 CustomerID=SEVES OrderID=10869 OrderDate=2/4/1998 CustomerID=SIMOB OrderID=11074 OrderDate=5/6/1998 CustomerID=SPECD OrderID=10907 OrderDate=2/25/1998 CustomerID=SPECD OrderID=10964 OrderDate=3/20/1998 CustomerID=SPECD OrderID=11043 OrderDate=4/22/1998 CustomerID=SPLIR OrderID=10821 OrderDate=1/8/1998 CustomerID=SPLIR OrderID=10974 OrderDate=3/25/1998 CustomerID=SUPRD OrderID=10841 OrderDate=1/20/1998 CustomerID=SUPRD OrderID=10846 OrderDate=1/22/1998 CustomerID=SUPRD OrderID=10885 OrderDate=2/12/1998 CustomerID=SUPRD OrderID=10930 OrderDate=3/6/1998 CustomerID=SUPRD OrderID=11035 OrderDate=4/20/1998 CustomerID=SUPRD OrderID=11038 OrderDate=4/21/1998 CustomerID=THEBI OrderID=10992 OrderDate=4/1/1998 CustomerID=THECR OrderID=11003 OrderDate=4/6/1998 CustomerID=TOMSP OrderID=10967 OrderDate=3/23/1998 CustomerID=TORTU OrderID=10842 OrderDate=1/20/1998 CustomerID=TORTU OrderID=10915 OrderDate=2/27/1998 CustomerID=TORTU OrderID=11069 OrderDate=5/4/1998 CustomerID=TRADH OrderID=10830 OrderDate=1/13/1998 CustomerID=TRADH OrderID=10834 OrderDate=1/15/1998 CustomerID=TRADH OrderID=10839 OrderDate=1/19/1998 CustomerID=TRAIH OrderID=10822 OrderDate=1/8/1998 CustomerID=VAFFE OrderID=10921 OrderDate=3/3/1998 CustomerID=VAFFE OrderID=10946 OrderDate=3/12/1998 CustomerID=VAFFE OrderID=10994 OrderDate=4/2/1998 CustomerID=VICTE OrderID=10814 OrderDate=1/5/1998 CustomerID=VICTE OrderID=10843 OrderDate=1/21/1998 CustomerID=VICTE OrderID=10850 OrderDate=1/23/1998 CustomerID=WANDK OrderID=11046 OrderDate=4/23/1998 CustomerID=WARTH OrderID=11025 OrderDate=4/15/1998 CustomerID=WELLI OrderID=10809 OrderDate=1/1/1998 CustomerID=WELLI OrderID=10900 OrderDate=2/20/1998 CustomerID=WELLI OrderID=10905 OrderDate=2/24/1998 CustomerID=WELLI OrderID=10935 OrderDate=3/9/1998 CustomerID=WHITC OrderID=10861 OrderDate=1/30/1998 CustomerID=WHITC OrderID=10904 OrderDate=2/24/1998 CustomerID=WHITC OrderID=11032 OrderDate=4/17/1998 CustomerID=WHITC OrderID=11066 OrderDate=5/1/1998 CustomerID=WILMK OrderID=10873 OrderDate=2/6/1998 CustomerID=WILMK OrderID=10879 OrderDate=2/10/1998 CustomerID=WILMK OrderID=10910 OrderDate=2/26/1998 CustomerID=WILMK OrderID=11005 OrderDate=4/7/1998 CustomerID=WOLZA OrderID=10870 OrderDate=2/4/1998 CustomerID=WOLZA OrderID=10906 OrderDate=2/25/1998 CustomerID=WOLZA OrderID=10998 OrderDate=4/3/1998 CustomerID=WOLZA OrderID=11044 OrderDate=4/23/1998
SelectMany - from AssignmentThis sample uses a compound from clause to select all orders where the order total is greater than 2000.00 and uses from assignment to avoid requesting the total twice. public void Linq17() { List customers = GetCustomerList();
var orders = from c in customers, o in c.Orders, total = o.Total where total >= 2000.0M select new {c.CustomerID, o.OrderID, total};
ObjectDumper.Write(orders); }
Result CustomerID=ANTON OrderID=10573 total=2082.00 CustomerID=AROUT OrderID=10558 total=2142.90 CustomerID=AROUT OrderID=10953 total=4441.25 CustomerID=BERGS OrderID=10384 total=2222.40 CustomerID=BERGS OrderID=10524 total=3192.65 CustomerID=BERGS OrderID=10672 total=3815.25 CustomerID=BERGS OrderID=10857 total=2048.21 CustomerID=BLONP OrderID=10360 total=7390.20 CustomerID=BOLID OrderID=10801 total=3026.85 CustomerID=BONAP OrderID=10340 total=2436.18 CustomerID=BONAP OrderID=10511 total=2550.00 CustomerID=BOTTM OrderID=10742 total=3118.00 CustomerID=BOTTM OrderID=10949 total=4422.00 CustomerID=CHOPS OrderID=10519 total=2314.20 CustomerID=CHOPS OrderID=10746 total=2311.70 CustomerID=COMMI OrderID=10290 total=2169.00 CustomerID=EASTC OrderID=10400 total=3063.00 CustomerID=EASTC OrderID=10987 total=2772.00 CustomerID=EASTC OrderID=11056 total=3740.00 CustomerID=ERNSH OrderID=10351 total=5398.72 CustomerID=ERNSH OrderID=10382 total=2900.00 CustomerID=ERNSH OrderID=10390 total=2090.88 CustomerID=ERNSH OrderID=10402 total=2713.50 CustomerID=ERNSH OrderID=10430 total=4899.20 CustomerID=ERNSH OrderID=10514 total=8623.45 CustomerID=ERNSH OrderID=10595 total=4725.00 CustomerID=ERNSH OrderID=10633 total=5510.59 CustomerID=ERNSH OrderID=10698 total=3436.44 CustomerID=ERNSH OrderID=10764 total=2286.00 CustomerID=ERNSH OrderID=10773 total=2030.40 CustomerID=ERNSH OrderID=10776 total=6635.28 CustomerID=ERNSH OrderID=10795 total=2158.00 CustomerID=ERNSH OrderID=10836 total=4705.50 CustomerID=ERNSH OrderID=10854 total=2966.50 CustomerID=ERNSH OrderID=10895 total=6379.40 CustomerID=ERNSH OrderID=10979 total=4813.50 CustomerID=ERNSH OrderID=10990 total=4288.85 CustomerID=ERNSH OrderID=11008 total=4680.90 CustomerID=ERNSH OrderID=11017 total=6750.00 CustomerID=ERNSH OrderID=11072 total=5218.00 CustomerID=FOLIG OrderID=10634 total=4985.50 CustomerID=FOLIG OrderID=10789 total=3687.00 CustomerID=FOLKO OrderID=10533 total=2222.20 CustomerID=FOLKO OrderID=10561 total=2844.50 CustomerID=FOLKO OrderID=10703 total=2545.00 CustomerID=FOLKO OrderID=10762 total=4337.00 CustomerID=FOLKO OrderID=10977 total=2233.00 CustomerID=FOLKO OrderID=10993 total=4895.44 CustomerID=FOLKO OrderID=11001 total=2769.00 CustomerID=FRANK OrderID=10267 total=3536.60 CustomerID=FRANK OrderID=10337 total=2467.00 CustomerID=FRANK OrderID=10670 total=2301.75 CustomerID=FRANK OrderID=11012 total=2825.30 CustomerID=GODOS OrderID=10629 total=2775.05 CustomerID=GODOS OrderID=10872 total=2058.46 CustomerID=GODOS OrderID=10948 total=2362.25 CustomerID=GOURL OrderID=10709 total=3424.00 CustomerID=GREAL OrderID=10616 total=4807.00 CustomerID=GREAL OrderID=10816 total=8446.45 CustomerID=HANAR OrderID=10886 total=3127.50 CustomerID=HANAR OrderID=10981 total=15810.00 CustomerID=HILAA OrderID=10395 total=2122.92 CustomerID=HILAA OrderID=10490 total=3163.20 CustomerID=HILAA OrderID=10601 total=2285.00 CustomerID=HILAA OrderID=10641 total=2054.00 CustomerID=HILAA OrderID=10796 total=2341.36 CustomerID=HUNGO OrderID=10298 total=2645.00 CustomerID=HUNGO OrderID=10335 total=2036.16 CustomerID=HUNGO OrderID=10503 total=2048.50 CustomerID=HUNGO OrderID=10516 total=2381.05 CustomerID=HUNGO OrderID=10567 total=2519.00 CustomerID=HUNGO OrderID=10687 total=4960.90 CustomerID=HUNGO OrderID=10701 total=2864.50 CustomerID=HUNGO OrderID=10897 total=10835.24 CustomerID=HUNGO OrderID=10912 total=6200.55 CustomerID=HUNGO OrderID=10985 total=2023.38 CustomerID=KOENE OrderID=10718 total=3463.00 CustomerID=KOENE OrderID=10817 total=10952.84 CustomerID=KOENE OrderID=10893 total=5502.11 CustomerID=KOENE OrderID=11028 total=2160.00 CustomerID=LAMAI OrderID=10413 total=2123.20 CustomerID=LAMAI OrderID=10787 total=2622.76 CustomerID=LEHMS OrderID=10522 total=2318.24 CustomerID=LEHMS OrderID=10772 total=3603.22 CustomerID=LILAS OrderID=10823 total=2826.00 CustomerID=LINOD OrderID=10638 total=2720.05 CustomerID=LINOD OrderID=11039 total=3090.00 CustomerID=MAISD OrderID=10760 total=2917.00 CustomerID=MAISD OrderID=10892 total=2090.00 CustomerID=MEREP OrderID=10339 total=3354.00 CustomerID=MEREP OrderID=10424 total=9194.56 CustomerID=MEREP OrderID=10570 total=2465.25 CustomerID=MEREP OrderID=10605 total=4109.70 CustomerID=MEREP OrderID=10618 total=2697.50 CustomerID=MORGK OrderID=10575 total=2147.40 CustomerID=OCEAN OrderID=10986 total=2220.00 CustomerID=OLDWO OrderID=10305 total=3741.30 CustomerID=OLDWO OrderID=10855 total=2227.89 CustomerID=OTTIK OrderID=10766 total=2310.00 CustomerID=PICCO OrderID=10353 total=8593.28 CustomerID=PICCO OrderID=10530 total=4180.00 CustomerID=PICCO OrderID=11053 total=3055.00 CustomerID=PRINI OrderID=11007 total=2633.90 CustomerID=QUEEN OrderID=10372 total=9210.90 CustomerID=QUEEN OrderID=10637 total=2761.94 CustomerID=QUEEN OrderID=11068 total=2027.08 CustomerID=QUICK OrderID=10273 total=2037.28 CustomerID=QUICK OrderID=10286 total=3016.00 CustomerID=QUICK OrderID=10345 total=2924.80 CustomerID=QUICK OrderID=10361 total=2046.24 CustomerID=QUICK OrderID=10451 total=3849.66 CustomerID=QUICK OrderID=10515 total=9921.30 CustomerID=QUICK OrderID=10540 total=10191.70 CustomerID=QUICK OrderID=10549 total=3554.28 CustomerID=QUICK OrderID=10588 total=3120.00 CustomerID=QUICK OrderID=10658 total=4464.60 CustomerID=QUICK OrderID=10691 total=10164.80 CustomerID=QUICK OrderID=10694 total=4825.00 CustomerID=QUICK OrderID=10745 total=4529.80 CustomerID=QUICK OrderID=10845 total=3812.70 CustomerID=QUICK OrderID=10865 total=16387.50 CustomerID=QUICK OrderID=10938 total=2731.88 CustomerID=QUICK OrderID=10962 total=3584.00 CustomerID=QUICK OrderID=10991 total=2296.00 CustomerID=QUICK OrderID=11021 total=6306.24 CustomerID=RATTC OrderID=10314 total=2094.30 CustomerID=RATTC OrderID=10316 total=2835.00 CustomerID=RATTC OrderID=10401 total=3868.60 CustomerID=RATTC OrderID=10479 total=10495.60 CustomerID=RATTC OrderID=10598 total=2388.50 CustomerID=RATTC OrderID=10852 total=2984.00 CustomerID=RATTC OrderID=10889 total=11380.00 CustomerID=RATTC OrderID=10988 total=3574.80 CustomerID=RICAR OrderID=10851 total=2603.00 CustomerID=RICSU OrderID=10255 total=2490.50 CustomerID=RICSU OrderID=10419 total=2097.60 CustomerID=RICSU OrderID=10666 total=4666.94 CustomerID=RICSU OrderID=11033 total=3232.80 CustomerID=SANTG OrderID=10831 total=2684.40 CustomerID=SAVEA OrderID=10324 total=5275.72 CustomerID=SAVEA OrderID=10393 total=2556.95 CustomerID=SAVEA OrderID=10398 total=2505.60 CustomerID=SAVEA OrderID=10440 total=4924.14 CustomerID=SAVEA OrderID=10452 total=2018.50 CustomerID=SAVEA OrderID=10510 total=4707.54 CustomerID=SAVEA OrderID=10555 total=2944.40 CustomerID=SAVEA OrderID=10607 total=6475.40 CustomerID=SAVEA OrderID=10612 total=6375.00 CustomerID=SAVEA OrderID=10657 total=4371.60 CustomerID=SAVEA OrderID=10678 total=5256.50 CustomerID=SAVEA OrderID=10711 total=4451.70 CustomerID=SAVEA OrderID=10713 total=2827.90 CustomerID=SAVEA OrderID=10714 total=2205.75 CustomerID=SAVEA OrderID=10748 total=2196.00 CustomerID=SAVEA OrderID=10757 total=3082.00 CustomerID=SAVEA OrderID=10847 total=4931.92 CustomerID=SAVEA OrderID=10894 total=2753.10 CustomerID=SAVEA OrderID=10941 total=4011.75 CustomerID=SAVEA OrderID=11030 total=12615.05 CustomerID=SAVEA OrderID=11031 total=2393.50 CustomerID=SAVEA OrderID=11064 total=4330.40 CustomerID=SEVES OrderID=10359 total=3471.68 CustomerID=SEVES OrderID=10523 total=2444.31 CustomerID=SEVES OrderID=10804 total=2278.40 CustomerID=SIMOB OrderID=10417 total=11188.40 CustomerID=SIMOB OrderID=10802 total=2942.81 CustomerID=SPECD OrderID=10964 total=2052.50 CustomerID=SPLIR OrderID=10329 total=4578.43 CustomerID=SPLIR OrderID=10369 total=2390.40 CustomerID=SUPRD OrderID=10252 total=3597.90 CustomerID=SUPRD OrderID=10302 total=2708.80 CustomerID=SUPRD OrderID=10458 total=3891.00 CustomerID=SUPRD OrderID=10841 total=4581.00 CustomerID=SUPRD OrderID=10930 total=2255.50 CustomerID=THEBI OrderID=10805 total=2775.00 CustomerID=TORTU OrderID=10518 total=4150.05 CustomerID=VAFFE OrderID=10465 total=2518.00 CustomerID=VAFFE OrderID=10688 total=3160.60 CustomerID=VICTE OrderID=10546 total=2812.00 CustomerID=WARTH OrderID=10455 total=2684.00 CustomerID=WARTH OrderID=10583 total=2237.50 CustomerID=WHITC OrderID=10344 total=2296.00 CustomerID=WHITC OrderID=10693 total=2071.20 CustomerID=WHITC OrderID=10861 total=3523.40 CustomerID=WHITC OrderID=11032 total=8902.50
SelectMany - Multiple fromThis sample uses multiple from clauses so that filtering on customers can be done before selecting their orders. This makes the query more efficient by not selecting and then discarding orders for customers outside of Washington. public void Linq18() { List customers = GetCustomerList();
DateTime cutoffDate = new DateTime(1997, 1, 1);
var orders = from c in customers where c.Region == "WA" from o in c.Orders where o.OrderDate >= cutoffDate select new {c.CustomerID, o.OrderID};
ObjectDumper.Write(orders); }
Result CustomerID=LAZYK OrderID=10482 CustomerID=LAZYK OrderID=10545 CustomerID=TRAIH OrderID=10574 CustomerID=TRAIH OrderID=10577 CustomerID=TRAIH OrderID=10822 CustomerID=WHITC OrderID=10469 CustomerID=WHITC OrderID=10483 CustomerID=WHITC OrderID=10504 CustomerID=WHITC OrderID=10596 CustomerID=WHITC OrderID=10693 CustomerID=WHITC OrderID=10696 CustomerID=WHITC OrderID=10723 CustomerID=WHITC OrderID=10740 CustomerID=WHITC OrderID=10861 CustomerID=WHITC OrderID=10904 CustomerID=WHITC OrderID=11032 CustomerID=WHITC OrderID=11066
SelectMany - IndexedThis sample prints the customer number and orderID for every order in the database. The sample uses an indexed SelectMany clause to select all orders, while referring to customers by the order in which they are returned from the query. public void Linq19() { List customers = GetCustomerList();
var customerOrders = customers.SelectMany( (cust, custIndex) => cust.Orders.Select(o => "Customer #" + (custIndex + 1) + " has an order with OrderID " + o.OrderID) );
ObjectDumper.Write(customerOrders); }
Result Customer #1 has an order with OrderID 10643 Customer #1 has an order with OrderID 10692 Customer #1 has an order with OrderID 10702 Customer #1 has an order with OrderID 10835 Customer #1 has an order with OrderID 10952 Customer #1 has an order with OrderID 11011 Customer #2 has an order with OrderID 10308 Customer #2 has an order with OrderID 10625 Customer #2 has an order with OrderID 10759 Customer #2 has an order with OrderID 10926 Customer #3 has an order with OrderID 10365 Customer #3 has an order with OrderID 10507 Customer #3 has an order with OrderID 10535 Customer #3 has an order with OrderID 10573 Customer #3 has an order with OrderID 10677 Customer #3 has an order with OrderID 10682 Customer #3 has an order with OrderID 10856 Customer #4 has an order with OrderID 10355 Customer #4 has an order with OrderID 10383 Customer #4 has an order with OrderID 10453 Customer #4 has an order with OrderID 10558 Customer #4 has an order with OrderID 10707 Customer #4 has an order with OrderID 10741 Customer #4 has an order with OrderID 10743 Customer #4 has an order with OrderID 10768 Customer #4 has an order with OrderID 10793 Customer #4 has an order with OrderID 10864 Customer #4 has an order with OrderID 10920 Customer #4 has an order with OrderID 10953 Customer #4 has an order with OrderID 11016 Customer #5 has an order with OrderID 10278 Customer #5 has an order with OrderID 10280 Customer #5 has an order with OrderID 10384 Customer #5 has an order with OrderID 10444 Customer #5 has an order with OrderID 10445 Customer #5 has an order with OrderID 10524 Customer #5 has an order with OrderID 10572 Customer #5 has an order with OrderID 10626 Customer #5 has an order with OrderID 10654 Customer #5 has an order with OrderID 10672 Customer #5 has an order with OrderID 10689 Customer #5 has an order with OrderID 10733 Customer #5 has an order with OrderID 10778 Customer #5 has an order with OrderID 10837 Customer #5 has an order with OrderID 10857 Customer #5 has an order with OrderID 10866 Customer #5 has an order with OrderID 10875 Customer #5 has an order with OrderID 10924 Customer #6 has an order with OrderID 10501 Customer #6 has an order with OrderID 10509 Customer #6 has an order with OrderID 10582 Customer #6 has an order with OrderID 10614 Customer #6 has an order with OrderID 10853 Customer #6 has an order with OrderID 10956 Customer #6 has an order with OrderID 11058 Customer #7 has an order with OrderID 10265 Customer #7 has an order with OrderID 10297 Customer #7 has an order with OrderID 10360 Customer #7 has an order with OrderID 10436 Customer #7 has an order with OrderID 10449 Customer #7 has an order with OrderID 10559 Customer #7 has an order with OrderID 10566 Customer #7 has an order with OrderID 10584 Customer #7 has an order with OrderID 10628 Customer #7 has an order with OrderID 10679 Customer #7 has an order with OrderID 10826 Customer #8 has an order with OrderID 10326 Customer #8 has an order with OrderID 10801 Customer #8 has an order with OrderID 10970 Customer #9 has an order with OrderID 10331 Customer #9 has an order with OrderID 10340 Customer #9 has an order with OrderID 10362 Customer #9 has an order with OrderID 10470 Customer #9 has an order with OrderID 10511 Customer #9 has an order with OrderID 10525 Customer #9 has an order with OrderID 10663 Customer #9 has an order with OrderID 10715 Customer #9 has an order with OrderID 10730 Customer #9 has an order with OrderID 10732 Customer #9 has an order with OrderID 10755 Customer #9 has an order with OrderID 10827 Customer #9 has an order with OrderID 10871 Customer #9 has an order with OrderID 10876 Customer #9 has an order with OrderID 10932 Customer #9 has an order with OrderID 10940 Customer #9 has an order with OrderID 11076 Customer #10 has an order with OrderID 10389 Customer #10 has an order with OrderID 10410 Customer #10 has an order with OrderID 10411 Customer #10 has an order with OrderID 10431 Customer #10 has an order with OrderID 10492 Customer #10 has an order with OrderID 10742 Customer #10 has an order with OrderID 10918 Customer #10 has an order with OrderID 10944 Customer #10 has an order with OrderID 10949 Customer #10 has an order with OrderID 10975 Customer #10 has an order with OrderID 10982 Customer #10 has an order with OrderID 11027 Customer #10 has an order with OrderID 11045 Customer #10 has an order with OrderID 11048 Customer #11 has an order with OrderID 10289 Customer #11 has an order with OrderID 10471 Customer #11 has an order with OrderID 10484 Customer #11 has an order with OrderID 10538 Customer #11 has an order with OrderID 10539 Customer #11 has an order with OrderID 10578 Customer #11 has an order with OrderID 10599 Customer #11 has an order with OrderID 10943 Customer #11 has an order with OrderID 10947 Customer #11 has an order with OrderID 11023 Customer #12 has an order with OrderID 10521 Customer #12 has an order with OrderID 10782 Customer #12 has an order with OrderID 10819 Customer #12 has an order with OrderID 10881 Customer #12 has an order with OrderID 10937 Customer #12 has an order with OrderID 11054 Customer #13 has an order with OrderID 10259 Customer #14 has an order with OrderID 10254 Customer #14 has an order with OrderID 10370 Customer #14 has an order with OrderID 10519 Customer #14 has an order with OrderID 10731 Customer #14 has an order with OrderID 10746 Customer #14 has an order with OrderID 10966 Customer #14 has an order with OrderID 11029 Customer #14 has an order with OrderID 11041 Customer #15 has an order with OrderID 10290 Customer #15 has an order with OrderID 10466 Customer #15 has an order with OrderID 10494 Customer #15 has an order with OrderID 10969 Customer #15 has an order with OrderID 11042 Customer #16 has an order with OrderID 10435 Customer #16 has an order with OrderID 10462 Customer #16 has an order with OrderID 10848 Customer #17 has an order with OrderID 10363 Customer #17 has an order with OrderID 10391 Customer #17 has an order with OrderID 10797 Customer #17 has an order with OrderID 10825 Customer #17 has an order with OrderID 11036 Customer #17 has an order with OrderID 11067 Customer #18 has an order with OrderID 10311 Customer #18 has an order with OrderID 10609 Customer #18 has an order with OrderID 10683 Customer #18 has an order with OrderID 10890 Customer #19 has an order with OrderID 10364 Customer #19 has an order with OrderID 10400 Customer #19 has an order with OrderID 10532 Customer #19 has an order with OrderID 10726 Customer #19 has an order with OrderID 10987 Customer #19 has an order with OrderID 11024 Customer #19 has an order with OrderID 11047 Customer #19 has an order with OrderID 11056 Customer #20 has an order with OrderID 10258 Customer #20 has an order with OrderID 10263 Customer #20 has an order with OrderID 10351 Customer #20 has an order with OrderID 10368 Customer #20 has an order with OrderID 10382 Customer #20 has an order with OrderID 10390 Customer #20 has an order with OrderID 10402 Customer #20 has an order with OrderID 10403 Customer #20 has an order with OrderID 10430 Customer #20 has an order with OrderID 10442 Customer #20 has an order with OrderID 10514 Customer #20 has an order with OrderID 10571 Customer #20 has an order with OrderID 10595 Customer #20 has an order with OrderID 10633 Customer #20 has an order with OrderID 10667 Customer #20 has an order with OrderID 10698 Customer #20 has an order with OrderID 10764 Customer #20 has an order with OrderID 10771 Customer #20 has an order with OrderID 10773 Customer #20 has an order with OrderID 10776 Customer #20 has an order with OrderID 10795 Customer #20 has an order with OrderID 10836 Customer #20 has an order with OrderID 10854 Customer #20 has an order with OrderID 10895 Customer #20 has an order with OrderID 10968 Customer #20 has an order with OrderID 10979 Customer #20 has an order with OrderID 10990 Customer #20 has an order with OrderID 11008 Customer #20 has an order with OrderID 11017 Customer #20 has an order with OrderID 11072 Customer #21 has an order with OrderID 10347 Customer #21 has an order with OrderID 10386 Customer #21 has an order with OrderID 10414 Customer #21 has an order with OrderID 10512 Customer #21 has an order with OrderID 10581 Customer #21 has an order with OrderID 10650 Customer #21 has an order with OrderID 10725 Customer #23 has an order with OrderID 10408 Customer #23 has an order with OrderID 10480 Customer #23 has an order with OrderID 10634 Customer #23 has an order with OrderID 10763 Customer #23 has an order with OrderID 10789 Customer #24 has an order with OrderID 10264 Customer #24 has an order with OrderID 10327 Customer #24 has an order with OrderID 10378 Customer #24 has an order with OrderID 10434 Customer #24 has an order with OrderID 10460 Customer #24 has an order with OrderID 10533 Customer #24 has an order with OrderID 10561 Customer #24 has an order with OrderID 10703 Customer #24 has an order with OrderID 10762 Customer #24 has an order with OrderID 10774 Customer #24 has an order with OrderID 10824 Customer #24 has an order with OrderID 10880 Customer #24 has an order with OrderID 10902 Customer #24 has an order with OrderID 10955 Customer #24 has an order with OrderID 10977 Customer #24 has an order with OrderID 10980 Customer #24 has an order with OrderID 10993 Customer #24 has an order with OrderID 11001 Customer #24 has an order with OrderID 11050 Customer #25 has an order with OrderID 10267 Customer #25 has an order with OrderID 10337 Customer #25 has an order with OrderID 10342 Customer #25 has an order with OrderID 10396 Customer #25 has an order with OrderID 10488 Customer #25 has an order with OrderID 10560 Customer #25 has an order with OrderID 10623 Customer #25 has an order with OrderID 10653 Customer #25 has an order with OrderID 10670 Customer #25 has an order with OrderID 10675 Customer #25 has an order with OrderID 10717 Customer #25 has an order with OrderID 10791 Customer #25 has an order with OrderID 10859 Customer #25 has an order with OrderID 10929 Customer #25 has an order with OrderID 11012 Customer #26 has an order with OrderID 10671 Customer #26 has an order with OrderID 10860 Customer #26 has an order with OrderID 10971 Customer #27 has an order with OrderID 10422 Customer #27 has an order with OrderID 10710 Customer #27 has an order with OrderID 10753 Customer #27 has an order with OrderID 10807 Customer #27 has an order with OrderID 11026 Customer #27 has an order with OrderID 11060 Customer #28 has an order with OrderID 10328 Customer #28 has an order with OrderID 10352 Customer #28 has an order with OrderID 10464 Customer #28 has an order with OrderID 10491 Customer #28 has an order with OrderID 10551 Customer #28 has an order with OrderID 10604 Customer #28 has an order with OrderID 10664 Customer #28 has an order with OrderID 10963 Customer #29 has an order with OrderID 10366 Customer #29 has an order with OrderID 10426 Customer #29 has an order with OrderID 10568 Customer #29 has an order with OrderID 10887 Customer #29 has an order with OrderID 10928 Customer #30 has an order with OrderID 10303 Customer #30 has an order with OrderID 10550 Customer #30 has an order with OrderID 10629 Customer #30 has an order with OrderID 10872 Customer #30 has an order with OrderID 10874 Customer #30 has an order with OrderID 10888 Customer #30 has an order with OrderID 10911 Customer #30 has an order with OrderID 10948 Customer #30 has an order with OrderID 11009 Customer #30 has an order with OrderID 11037 Customer #31 has an order with OrderID 10423 Customer #31 has an order with OrderID 10652 Customer #31 has an order with OrderID 10685 Customer #31 has an order with OrderID 10709 Customer #31 has an order with OrderID 10734 Customer #31 has an order with OrderID 10777 Customer #31 has an order with OrderID 10790 Customer #31 has an order with OrderID 10959 Customer #31 has an order with OrderID 11049 Customer #32 has an order with OrderID 10528 Customer #32 has an order with OrderID 10589 Customer #32 has an order with OrderID 10616 Customer #32 has an order with OrderID 10617 Customer #32 has an order with OrderID 10656 Customer #32 has an order with OrderID 10681 Customer #32 has an order with OrderID 10816 Customer #32 has an order with OrderID 10936 Customer #32 has an order with OrderID 11006 Customer #32 has an order with OrderID 11040 Customer #32 has an order with OrderID 11061 Customer #33 has an order with OrderID 10268 Customer #33 has an order with OrderID 10785 Customer #34 has an order with OrderID 10250 Customer #34 has an order with OrderID 10253 Customer #34 has an order with OrderID 10541 Customer #34 has an order with OrderID 10645 Customer #34 has an order with OrderID 10690 Customer #34 has an order with OrderID 10770 Customer #34 has an order with OrderID 10783 Customer #34 has an order with OrderID 10886 Customer #34 has an order with OrderID 10903 Customer #34 has an order with OrderID 10922 Customer #34 has an order with OrderID 10925 Customer #34 has an order with OrderID 10981 Customer #34 has an order with OrderID 11022 Customer #34 has an order with OrderID 11052 Customer #35 has an order with OrderID 10257 Customer #35 has an order with OrderID 10395 Customer #35 has an order with OrderID 10476 Customer #35 has an order with OrderID 10486 Customer #35 has an order with OrderID 10490 Customer #35 has an order with OrderID 10498 Customer #35 has an order with OrderID 10552 Customer #35 has an order with OrderID 10601 Customer #35 has an order with OrderID 10613 Customer #35 has an order with OrderID 10641 Customer #35 has an order with OrderID 10705 Customer #35 has an order with OrderID 10796 Customer #35 has an order with OrderID 10863 Customer #35 has an order with OrderID 10901 Customer #35 has an order with OrderID 10957 Customer #35 has an order with OrderID 10960 Customer #35 has an order with OrderID 10976 Customer #35 has an order with OrderID 11055 Customer #36 has an order with OrderID 10375 Customer #36 has an order with OrderID 10394 Customer #36 has an order with OrderID 10415 Customer #36 has an order with OrderID 10600 Customer #36 has an order with OrderID 10660 Customer #37 has an order with OrderID 10298 Customer #37 has an order with OrderID 10309 Customer #37 has an order with OrderID 10335 Customer #37 has an order with OrderID 10373 Customer #37 has an order with OrderID 10380 Customer #37 has an order with OrderID 10429 Customer #37 has an order with OrderID 10503 Customer #37 has an order with OrderID 10516 Customer #37 has an order with OrderID 10567 Customer #37 has an order with OrderID 10646 Customer #37 has an order with OrderID 10661 Customer #37 has an order with OrderID 10687 Customer #37 has an order with OrderID 10701 Customer #37 has an order with OrderID 10712 Customer #37 has an order with OrderID 10736 Customer #37 has an order with OrderID 10897 Customer #37 has an order with OrderID 10912 Customer #37 has an order with OrderID 10985 Customer #37 has an order with OrderID 11063 Customer #38 has an order with OrderID 10315 Customer #38 has an order with OrderID 10318 Customer #38 has an order with OrderID 10321 Customer #38 has an order with OrderID 10473 Customer #38 has an order with OrderID 10621 Customer #38 has an order with OrderID 10674 Customer #38 has an order with OrderID 10749 Customer #38 has an order with OrderID 10798 Customer #38 has an order with OrderID 10829 Customer #38 has an order with OrderID 10933 Customer #39 has an order with OrderID 10323 Customer #39 has an order with OrderID 10325 Customer #39 has an order with OrderID 10456 Customer #39 has an order with OrderID 10457 Customer #39 has an order with OrderID 10468 Customer #39 has an order with OrderID 10506 Customer #39 has an order with OrderID 10542 Customer #39 has an order with OrderID 10630 Customer #39 has an order with OrderID 10718 Customer #39 has an order with OrderID 10799 Customer #39 has an order with OrderID 10817 Customer #39 has an order with OrderID 10849 Customer #39 has an order with OrderID 10893 Customer #39 has an order with OrderID 11028 Customer #40 has an order with OrderID 10858 Customer #40 has an order with OrderID 10927 Customer #40 has an order with OrderID 10972 Customer #40 has an order with OrderID 10973 Customer #41 has an order with OrderID 10350 Customer #41 has an order with OrderID 10358 Customer #41 has an order with OrderID 10371 Customer #41 has an order with OrderID 10413 Customer #41 has an order with OrderID 10425 Customer #41 has an order with OrderID 10454 Customer #41 has an order with OrderID 10493 Customer #41 has an order with OrderID 10500 Customer #41 has an order with OrderID 10610 Customer #41 has an order with OrderID 10631 Customer #41 has an order with OrderID 10787 Customer #41 has an order with OrderID 10832 Customer #41 has an order with OrderID 10923 Customer #41 has an order with OrderID 11051 Customer #42 has an order with OrderID 10495 Customer #42 has an order with OrderID 10620 Customer #42 has an order with OrderID 10810 Customer #43 has an order with OrderID 10482 Customer #43 has an order with OrderID 10545 Customer #44 has an order with OrderID 10279 Customer #44 has an order with OrderID 10284 Customer #44 has an order with OrderID 10343 Customer #44 has an order with OrderID 10497 Customer #44 has an order with OrderID 10522 Customer #44 has an order with OrderID 10534 Customer #44 has an order with OrderID 10536 Customer #44 has an order with OrderID 10557 Customer #44 has an order with OrderID 10592 Customer #44 has an order with OrderID 10593 Customer #44 has an order with OrderID 10772 Customer #44 has an order with OrderID 10862 Customer #44 has an order with OrderID 10891 Customer #44 has an order with OrderID 10934 Customer #44 has an order with OrderID 11070 Customer #45 has an order with OrderID 10579 Customer #45 has an order with OrderID 10719 Customer #45 has an order with OrderID 10735 Customer #45 has an order with OrderID 10884 Customer #46 has an order with OrderID 10283 Customer #46 has an order with OrderID 10296 Customer #46 has an order with OrderID 10330 Customer #46 has an order with OrderID 10357 Customer #46 has an order with OrderID 10381 Customer #46 has an order with OrderID 10461 Customer #46 has an order with OrderID 10499 Customer #46 has an order with OrderID 10543 Customer #46 has an order with OrderID 10780 Customer #46 has an order with OrderID 10823 Customer #46 has an order with OrderID 10899 Customer #46 has an order with OrderID 10997 Customer #46 has an order with OrderID 11065 Customer #46 has an order with OrderID 11071 Customer #47 has an order with OrderID 10405 Customer #47 has an order with OrderID 10485 Customer #47 has an order with OrderID 10638 Customer #47 has an order with OrderID 10697 Customer #47 has an order with OrderID 10729 Customer #47 has an order with OrderID 10811 Customer #47 has an order with OrderID 10838 Customer #47 has an order with OrderID 10840 Customer #47 has an order with OrderID 10919 Customer #47 has an order with OrderID 10954 Customer #47 has an order with OrderID 11014 Customer #47 has an order with OrderID 11039 Customer #48 has an order with OrderID 10307 Customer #48 has an order with OrderID 10317 Customer #48 has an order with OrderID 10544 Customer #48 has an order with OrderID 10662 Customer #48 has an order with OrderID 10665 Customer #48 has an order with OrderID 10867 Customer #48 has an order with OrderID 10883 Customer #48 has an order with OrderID 11018 Customer #49 has an order with OrderID 10275 Customer #49 has an order with OrderID 10300 Customer #49 has an order with OrderID 10404 Customer #49 has an order with OrderID 10467 Customer #49 has an order with OrderID 10635 Customer #49 has an order with OrderID 10754 Customer #49 has an order with OrderID 10784 Customer #49 has an order with OrderID 10818 Customer #49 has an order with OrderID 10939 Customer #49 has an order with OrderID 10950 Customer #50 has an order with OrderID 10529 Customer #50 has an order with OrderID 10649 Customer #50 has an order with OrderID 10760 Customer #50 has an order with OrderID 10892 Customer #50 has an order with OrderID 10896 Customer #50 has an order with OrderID 10978 Customer #50 has an order with OrderID 11004 Customer #51 has an order with OrderID 10332 Customer #51 has an order with OrderID 10339 Customer #51 has an order with OrderID 10376 Customer #51 has an order with OrderID 10424 Customer #51 has an order with OrderID 10439 Customer #51 has an order with OrderID 10505 Customer #51 has an order with OrderID 10565 Customer #51 has an order with OrderID 10570 Customer #51 has an order with OrderID 10590 Customer #51 has an order with OrderID 10605 Customer #51 has an order with OrderID 10618 Customer #51 has an order with OrderID 10619 Customer #51 has an order with OrderID 10724 Customer #52 has an order with OrderID 10277 Customer #52 has an order with OrderID 10575 Customer #52 has an order with OrderID 10699 Customer #52 has an order with OrderID 10779 Customer #52 has an order with OrderID 10945 Customer #53 has an order with OrderID 10517 Customer #53 has an order with OrderID 10752 Customer #53 has an order with OrderID 11057 Customer #54 has an order with OrderID 10409 Customer #54 has an order with OrderID 10531 Customer #54 has an order with OrderID 10898 Customer #54 has an order with OrderID 10958 Customer #54 has an order with OrderID 10986 Customer #55 has an order with OrderID 10260 Customer #55 has an order with OrderID 10305 Customer #55 has an order with OrderID 10338 Customer #55 has an order with OrderID 10441 Customer #55 has an order with OrderID 10594 Customer #55 has an order with OrderID 10680 Customer #55 has an order with OrderID 10706 Customer #55 has an order with OrderID 10855 Customer #55 has an order with OrderID 10965 Customer #55 has an order with OrderID 11034 Customer #56 has an order with OrderID 10407 Customer #56 has an order with OrderID 10508 Customer #56 has an order with OrderID 10554 Customer #56 has an order with OrderID 10580 Customer #56 has an order with OrderID 10684 Customer #56 has an order with OrderID 10766 Customer #56 has an order with OrderID 10833 Customer #56 has an order with OrderID 10999 Customer #56 has an order with OrderID 11020 Customer #58 has an order with OrderID 10322 Customer #58 has an order with OrderID 10354 Customer #58 has an order with OrderID 10474 Customer #58 has an order with OrderID 10502 Customer #58 has an order with OrderID 10995 Customer #58 has an order with OrderID 11073 Customer #59 has an order with OrderID 10353 Customer #59 has an order with OrderID 10392 Customer #59 has an order with OrderID 10427 Customer #59 has an order with OrderID 10489 Customer #59 has an order with OrderID 10530 Customer #59 has an order with OrderID 10597 Customer #59 has an order with OrderID 10686 Customer #59 has an order with OrderID 10747 Customer #59 has an order with OrderID 10844 Customer #59 has an order with OrderID 11053 Customer #60 has an order with OrderID 10336 Customer #60 has an order with OrderID 10397 Customer #60 has an order with OrderID 10433 Customer #60 has an order with OrderID 10477 Customer #60 has an order with OrderID 10808 Customer #60 has an order with OrderID 11007 Customer #61 has an order with OrderID 10261 Customer #61 has an order with OrderID 10291 Customer #61 has an order with OrderID 10379 Customer #61 has an order with OrderID 10421 Customer #61 has an order with OrderID 10587 Customer #61 has an order with OrderID 10647 Customer #61 has an order with OrderID 10720 Customer #61 has an order with OrderID 10794 Customer #61 has an order with OrderID 10989 Customer #62 has an order with OrderID 10372 Customer #62 has an order with OrderID 10406 Customer #62 has an order with OrderID 10487 Customer #62 has an order with OrderID 10637 Customer #62 has an order with OrderID 10659 Customer #62 has an order with OrderID 10704 Customer #62 has an order with OrderID 10728 Customer #62 has an order with OrderID 10786 Customer #62 has an order with OrderID 10868 Customer #62 has an order with OrderID 10913 Customer #62 has an order with OrderID 10914 Customer #62 has an order with OrderID 10961 Customer #62 has an order with OrderID 11068 Customer #63 has an order with OrderID 10273 Customer #63 has an order with OrderID 10285 Customer #63 has an order with OrderID 10286 Customer #63 has an order with OrderID 10313 Customer #63 has an order with OrderID 10345 Customer #63 has an order with OrderID 10361 Customer #63 has an order with OrderID 10418 Customer #63 has an order with OrderID 10451 Customer #63 has an order with OrderID 10515 Customer #63 has an order with OrderID 10527 Customer #63 has an order with OrderID 10540 Customer #63 has an order with OrderID 10549 Customer #63 has an order with OrderID 10588 Customer #63 has an order with OrderID 10658 Customer #63 has an order with OrderID 10691 Customer #63 has an order with OrderID 10694 Customer #63 has an order with OrderID 10721 Customer #63 has an order with OrderID 10745 Customer #63 has an order with OrderID 10765 Customer #63 has an order with OrderID 10788 Customer #63 has an order with OrderID 10845 Customer #63 has an order with OrderID 10865 Customer #63 has an order with OrderID 10878 Customer #63 has an order with OrderID 10938 Customer #63 has an order with OrderID 10962 Customer #63 has an order with OrderID 10991 Customer #63 has an order with OrderID 10996 Customer #63 has an order with OrderID 11021 Customer #64 has an order with OrderID 10448 Customer #64 has an order with OrderID 10716 Customer #64 has an order with OrderID 10828 Customer #64 has an order with OrderID 10916 Customer #64 has an order with OrderID 11019 Customer #65 has an order with OrderID 10262 Customer #65 has an order with OrderID 10272 Customer #65 has an order with OrderID 10294 Customer #65 has an order with OrderID 10314 Customer #65 has an order with OrderID 10316 Customer #65 has an order with OrderID 10346 Customer #65 has an order with OrderID 10401 Customer #65 has an order with OrderID 10479 Customer #65 has an order with OrderID 10564 Customer #65 has an order with OrderID 10569 Customer #65 has an order with OrderID 10598 Customer #65 has an order with OrderID 10761 Customer #65 has an order with OrderID 10820 Customer #65 has an order with OrderID 10852 Customer #65 has an order with OrderID 10889 Customer #65 has an order with OrderID 10988 Customer #65 has an order with OrderID 11000 Customer #65 has an order with OrderID 11077 Customer #66 has an order with OrderID 10288 Customer #66 has an order with OrderID 10428 Customer #66 has an order with OrderID 10443 Customer #66 has an order with OrderID 10562 Customer #66 has an order with OrderID 10586 Customer #66 has an order with OrderID 10655 Customer #66 has an order with OrderID 10727 Customer #66 has an order with OrderID 10812 Customer #66 has an order with OrderID 10908 Customer #66 has an order with OrderID 10942 Customer #66 has an order with OrderID 11010 Customer #66 has an order with OrderID 11062 Customer #67 has an order with OrderID 10287 Customer #67 has an order with OrderID 10299 Customer #67 has an order with OrderID 10447 Customer #67 has an order with OrderID 10481 Customer #67 has an order with OrderID 10563 Customer #67 has an order with OrderID 10622 Customer #67 has an order with OrderID 10648 Customer #67 has an order with OrderID 10813 Customer #67 has an order with OrderID 10851 Customer #67 has an order with OrderID 10877 Customer #67 has an order with OrderID 11059 Customer #68 has an order with OrderID 10255 Customer #68 has an order with OrderID 10419 Customer #68 has an order with OrderID 10537 Customer #68 has an order with OrderID 10666 Customer #68 has an order with OrderID 10751 Customer #68 has an order with OrderID 10758 Customer #68 has an order with OrderID 10931 Customer #68 has an order with OrderID 10951 Customer #68 has an order with OrderID 11033 Customer #68 has an order with OrderID 11075 Customer #69 has an order with OrderID 10281 Customer #69 has an order with OrderID 10282 Customer #69 has an order with OrderID 10306 Customer #69 has an order with OrderID 10917 Customer #69 has an order with OrderID 11013 Customer #70 has an order with OrderID 10387 Customer #70 has an order with OrderID 10520 Customer #70 has an order with OrderID 10639 Customer #70 has an order with OrderID 10831 Customer #70 has an order with OrderID 10909 Customer #70 has an order with OrderID 11015 Customer #71 has an order with OrderID 10324 Customer #71 has an order with OrderID 10393 Customer #71 has an order with OrderID 10398 Customer #71 has an order with OrderID 10440 Customer #71 has an order with OrderID 10452 Customer #71 has an order with OrderID 10510 Customer #71 has an order with OrderID 10555 Customer #71 has an order with OrderID 10603 Customer #71 has an order with OrderID 10607 Customer #71 has an order with OrderID 10612 Customer #71 has an order with OrderID 10627 Customer #71 has an order with OrderID 10657 Customer #71 has an order with OrderID 10678 Customer #71 has an order with OrderID 10700 Customer #71 has an order with OrderID 10711 Customer #71 has an order with OrderID 10713 Customer #71 has an order with OrderID 10714 Customer #71 has an order with OrderID 10722 Customer #71 has an order with OrderID 10748 Customer #71 has an order with OrderID 10757 Customer #71 has an order with OrderID 10815 Customer #71 has an order with OrderID 10847 Customer #71 has an order with OrderID 10882 Customer #71 has an order with OrderID 10894 Customer #71 has an order with OrderID 10941 Customer #71 has an order with OrderID 10983 Customer #71 has an order with OrderID 10984 Customer #71 has an order with OrderID 11002 Customer #71 has an order with OrderID 11030 Customer #71 has an order with OrderID 11031 Customer #71 has an order with OrderID 11064 Customer #72 has an order with OrderID 10359 Customer #72 has an order with OrderID 10377 Customer #72 has an order with OrderID 10388 Customer #72 has an order with OrderID 10472 Customer #72 has an order with OrderID 10523 Customer #72 has an order with OrderID 10547 Customer #72 has an order with OrderID 10800 Customer #72 has an order with OrderID 10804 Customer #72 has an order with OrderID 10869 Customer #73 has an order with OrderID 10341 Customer #73 has an order with OrderID 10417 Customer #73 has an order with OrderID 10556 Customer #73 has an order with OrderID 10642 Customer #73 has an order with OrderID 10669 Customer #73 has an order with OrderID 10802 Customer #73 has an order with OrderID 11074 Customer #74 has an order with OrderID 10738 Customer #74 has an order with OrderID 10907 Customer #74 has an order with OrderID 10964 Customer #74 has an order with OrderID 11043 Customer #75 has an order with OrderID 10271 Customer #75 has an order with OrderID 10329 Customer #75 has an order with OrderID 10349 Customer #75 has an order with OrderID 10369 Customer #75 has an order with OrderID 10385 Customer #75 has an order with OrderID 10432 Customer #75 has an order with OrderID 10756 Customer #75 has an order with OrderID 10821 Customer #75 has an order with OrderID 10974 Customer #76 has an order with OrderID 10252 Customer #76 has an order with OrderID 10302 Customer #76 has an order with OrderID 10458 Customer #76 has an order with OrderID 10463 Customer #76 has an order with OrderID 10475 Customer #76 has an order with OrderID 10767 Customer #76 has an order with OrderID 10841 Customer #76 has an order with OrderID 10846 Customer #76 has an order with OrderID 10885 Customer #76 has an order with OrderID 10930 Customer #76 has an order with OrderID 11035 Customer #76 has an order with OrderID 11038 Customer #77 has an order with OrderID 10310 Customer #77 has an order with OrderID 10708 Customer #77 has an order with OrderID 10805 Customer #77 has an order with OrderID 10992 Customer #78 has an order with OrderID 10624 Customer #78 has an order with OrderID 10775 Customer #78 has an order with OrderID 11003 Customer #79 has an order with OrderID 10438 Customer #79 has an order with OrderID 10446 Customer #79 has an order with OrderID 10548 Customer #79 has an order with OrderID 10608 Customer #79 has an order with OrderID 10967 Customer #80 has an order with OrderID 10276 Customer #80 has an order with OrderID 10293 Customer #80 has an order with OrderID 10304 Customer #80 has an order with OrderID 10319 Customer #80 has an order with OrderID 10518 Customer #80 has an order with OrderID 10576 Customer #80 has an order with OrderID 10676 Customer #80 has an order with OrderID 10842 Customer #80 has an order with OrderID 10915 Customer #80 has an order with OrderID 11069 Customer #81 has an order with OrderID 10249 Customer #81 has an order with OrderID 10292 Customer #81 has an order with OrderID 10496 Customer #81 has an order with OrderID 10606 Customer #81 has an order with OrderID 10830 Customer #81 has an order with OrderID 10834 Customer #81 has an order with OrderID 10839 Customer #82 has an order with OrderID 10574 Customer #82 has an order with OrderID 10577 Customer #82 has an order with OrderID 10822 Customer #83 has an order with OrderID 10367 Customer #83 has an order with OrderID 10399 Customer #83 has an order with OrderID 10465 Customer #83 has an order with OrderID 10591 Customer #83 has an order with OrderID 10602 Customer #83 has an order with OrderID 10688 Customer #83 has an order with OrderID 10744 Customer #83 has an order with OrderID 10769 Customer #83 has an order with OrderID 10921 Customer #83 has an order with OrderID 10946 Customer #83 has an order with OrderID 10994 Customer #84 has an order with OrderID 10251 Customer #84 has an order with OrderID 10334 Customer #84 has an order with OrderID 10450 Customer #84 has an order with OrderID 10459 Customer #84 has an order with OrderID 10478 Customer #84 has an order with OrderID 10546 Customer #84 has an order with OrderID 10806 Customer #84 has an order with OrderID 10814 Customer #84 has an order with OrderID 10843 Customer #84 has an order with OrderID 10850 Customer #85 has an order with OrderID 10274 Customer #85 has an order with OrderID 10295 Customer #85 has an order with OrderID 10737 Customer #85 has an order with OrderID 10739 Customer #86 has an order with OrderID 10301 Customer #86 has an order with OrderID 10312 Customer #86 has an order with OrderID 10348 Customer #86 has an order with OrderID 10356 Customer #86 has an order with OrderID 10513 Customer #86 has an order with OrderID 10632 Customer #86 has an order with OrderID 10640 Customer #86 has an order with OrderID 10651 Customer #86 has an order with OrderID 10668 Customer #86 has an order with OrderID 11046 Customer #87 has an order with OrderID 10266 Customer #87 has an order with OrderID 10270 Customer #87 has an order with OrderID 10320 Customer #87 has an order with OrderID 10333 Customer #87 has an order with OrderID 10412 Customer #87 has an order with OrderID 10416 Customer #87 has an order with OrderID 10437 Customer #87 has an order with OrderID 10455 Customer #87 has an order with OrderID 10526 Customer #87 has an order with OrderID 10553 Customer #87 has an order with OrderID 10583 Customer #87 has an order with OrderID 10636 Customer #87 has an order with OrderID 10750 Customer #87 has an order with OrderID 10781 Customer #87 has an order with OrderID 11025 Customer #88 has an order with OrderID 10256 Customer #88 has an order with OrderID 10420 Customer #88 has an order with OrderID 10585 Customer #88 has an order with OrderID 10644 Customer #88 has an order with OrderID 10803 Customer #88 has an order with OrderID 10809 Customer #88 has an order with OrderID 10900 Customer #88 has an order with OrderID 10905 Customer #88 has an order with OrderID 10935 Customer #89 has an order with OrderID 10269 Customer #89 has an order with OrderID 10344 Customer #89 has an order with OrderID 10469 Customer #89 has an order with OrderID 10483 Customer #89 has an order with OrderID 10504 Customer #89 has an order with OrderID 10596 Customer #89 has an order with OrderID 10693 Customer #89 has an order with OrderID 10696 Customer #89 has an order with OrderID 10723 Customer #89 has an order with OrderID 10740 Customer #89 has an order with OrderID 10861 Customer #89 has an order with OrderID 10904 Customer #89 has an order with OrderID 11032 Customer #89 has an order with OrderID 11066 Customer #90 has an order with OrderID 10248 Customer #90 has an order with OrderID 10615 Customer #90 has an order with OrderID 10673 Customer #90 has an order with OrderID 10695 Customer #90 has an order with OrderID 10873 Customer #90 has an order with OrderID 10879 Customer #90 has an order with OrderID 10910 Customer #90 has an order with OrderID 11005 Customer #91 has an order with OrderID 10374 Customer #91 has an order with OrderID 10611 Customer #91 has an order with OrderID 10792 Customer #91 has an order with OrderID 10870 Customer #91 has an order with OrderID 10906 Customer #91 has an order with OrderID 10998 Customer #91 has an order with OrderID 11044 |