{"id":54,"date":"2013-09-19T20:15:00","date_gmt":"2013-09-20T01:15:00","guid":{"rendered":"https:\/\/www.chrystalsander.com\/blog\/?p=54"},"modified":"2023-07-26T15:58:41","modified_gmt":"2023-07-26T20:58:41","slug":"linq-query-using-cross-group-joins","status":"publish","type":"post","link":"https:\/\/www.chrystalsander.com\/blog\/?p=54","title":{"rendered":"LINQ : Query Using Cross &#038; Group Joins"},"content":{"rendered":"<div style=\"margin-bottom: 0in;\">\n<\/div>\n<div style=\"margin-bottom: 0in;\">\n<b>&#8211;Cross Join:<\/b><\/div>\n<div style=\"margin-bottom: 0in;\">\n<b><br \/><\/b><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: green;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">\/\/LINQ&nbsp;Query&nbsp;Example&nbsp;For&nbsp;Cross&nbsp;Join<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: green;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">\/\/This&nbsp;joins&nbsp;elements&nbsp;of&nbsp;two&nbsp;sequences&nbsp;based&nbsp;on&nbsp;equality&nbsp;of&nbsp;an&nbsp;element<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: green;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">public<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">static<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">void<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;RiderBikeCrossJoinQuery()<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">{<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: green;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">\/\/create&nbsp;a&nbsp;string&nbsp;array<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: blue;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">string<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">[]&nbsp;bikeWinners&nbsp;=&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">new<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">string<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">[]&nbsp;{<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: #a31515;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&#8220;Honda&#8221;<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">,&nbsp;<\/span><\/span><\/span><span style=\"color: #a31515;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&#8220;Yamaha&#8221;<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">};<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"> <\/span>\n<\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: green;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">\/\/populate&nbsp;the&nbsp;Generic&nbsp;List<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">createRiders();<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"> <\/span>\n<\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: blue;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">var<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;linqQuery&nbsp;=<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">from<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;w&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">in<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;bikeWinners<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">join<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;r&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">in<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;riderList&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">on<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;w&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">equals<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;r.BikeMake<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">select<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">new<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;{&nbsp;Winner&nbsp;=&nbsp;w,&nbsp;r.BikeModel,&nbsp;r.FirstName,&nbsp;r.LastName&nbsp;};<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"> <\/span>\n<\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: blue;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">foreach<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;(<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">var<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;win&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">in<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;linqQuery)<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">{<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: #2b91af;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">Console<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">.WriteLine(<\/span><\/span><\/span><span style=\"color: #a31515;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&#8220;Winner&nbsp;is&nbsp;{0}&nbsp;{1}&nbsp;on&nbsp;the&nbsp;{2}&nbsp;from&nbsp;{3}&nbsp;&nbsp;&#8220;<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">,&nbsp;win.FirstName,&nbsp;<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"> win.LastName,<br \/>\nwin.BikeModel,&nbsp;win.Winner);<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">}<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: #2b91af;\">    <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">Console<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">.ReadLine();<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: #2b91af;\"><span style=\"font-family: Courier New, serif;\"><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">}<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n\n<\/div>\n<div style=\"margin-bottom: 0in;\">\n<b>&#8211;Group Join:<\/b><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/>\n<\/span><\/span><\/span>\n<\/div>\n<div style=\"margin-bottom: 0in;\">\n<b><br \/><\/b><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: green;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">\/\/LINQ&nbsp;Query&nbsp;Example&nbsp;for&nbsp;Group&nbsp;Join<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: green;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">\/\/This&nbsp;joins&nbsp;riders&nbsp;that&nbsp;have&nbsp;the&nbsp;same&nbsp;BikeMake<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: green;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">public<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">static<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">void<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;RiderBikeGroupJoinQuery()<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">{<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: green;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">\/\/create&nbsp;a&nbsp;string&nbsp;array<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: blue;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">string<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">[]&nbsp;bikeMake&nbsp;=&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">new<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">string<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">[]&nbsp;{<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: #a31515;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&#8220;Yamaha&#8221;<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">,&nbsp;<\/span><\/span><\/span><span style=\"color: #a31515;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&#8220;Ducati&#8221;<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">};<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"> <\/span>\n<\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: green;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">\/\/populate&nbsp;the&nbsp;Generic&nbsp;List<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">createRiders();<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"> <\/span>\n<\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: blue;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">var<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;linqQuery&nbsp;=<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">from<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;b&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">in<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;bikeMake<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">join<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;r&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">in<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;riderList&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">on<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;b&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">equals<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;r.BikeMake&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">into<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;bm<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">select<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">new<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;{Bikes&nbsp;=&nbsp;b,&nbsp;Models&nbsp;=&nbsp;bm}<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">;<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"> <\/span>\n<\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: blue;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">foreach<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;(<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">var<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;m&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">in<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;linqQuery)<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">{<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: #2b91af;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">Console<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">.WriteLine(m.Bikes&nbsp;+&nbsp;<\/span><\/span><\/span><span style=\"color: #a31515;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&#8220;:&#8221;<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">);<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: #2b91af;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">Console<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">.WriteLine(<\/span><\/span><\/span><span style=\"color: #a31515;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8220;<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">foreach<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;(<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">var<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;x&nbsp;<\/span><\/span><\/span><span style=\"color: blue;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">in<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">&nbsp;m.Models)<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">{<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: #2b91af;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">Console<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">.WriteLine(x.BikeModel);<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">}<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"color: #2b91af;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">Console<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">.WriteLine();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">}<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\"><span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: #2b91af;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">Console<\/span><\/span><\/span><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">.ReadLine();<\/span><\/span><\/span><\/span><\/span><\/div>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: #2b91af;\"><span style=\"font-family: Courier New, serif;\"><span style=\"color: black;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\"><br \/><\/span><\/span><\/span><\/span><\/span><\/div>\n<p><\/p>\n<div style=\"background: #ffffff; line-height: 100%; margin-bottom: 0in;\">\n<span style=\"color: black;\">   <span style=\"font-family: Courier New, serif;\"><span style=\"font-size: x-small;\"><span style=\"font-family: Consolas, serif;\"><span style=\"font-size: 9pt;\">}<\/span><\/span><\/span><\/span><\/span><\/div>\n","protected":false},"excerpt":{"rendered":"<p>&#8211;Cross Join: \/\/LINQ&nbsp;Query&nbsp;Example&nbsp;For&nbsp;Cross&nbsp;Join \/\/This&nbsp;joins&nbsp;elements&nbsp;of&nbsp;two&nbsp;sequences&nbsp;based&nbsp;on&nbsp;equality&nbsp;of&nbsp;an&nbsp;element public&nbsp;static&nbsp;void&nbsp;RiderBikeCrossJoinQuery() { \/\/create&nbsp;a&nbsp;string&nbsp;array string[]&nbsp;bikeWinners&nbsp;=&nbsp;new&nbsp;string[]&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&#8220;Honda&#8221;,&nbsp;&#8220;Yamaha&#8221; }; \/\/populate&nbsp;the&nbsp;Generic&nbsp;List createRiders(); var&nbsp;linqQuery&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;w&nbsp;in&nbsp;bikeWinners &nbsp;&nbsp;&nbsp;&nbsp;join&nbsp;r&nbsp;in&nbsp;riderList&nbsp;on&nbsp;w&nbsp;equals&nbsp;r.BikeMake &nbsp;&nbsp;&nbsp;&nbsp;select&nbsp;new&nbsp;{&nbsp;Winner&nbsp;=&nbsp;w,&nbsp;r.BikeModel,&nbsp;r.FirstName,&nbsp;r.LastName&nbsp;}; foreach&nbsp;(var&nbsp;win&nbsp;in&nbsp;linqQuery) { &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#8220;Winner&nbsp;is&nbsp;{0}&nbsp;{1}&nbsp;on&nbsp;the&nbsp;{2}&nbsp;from&nbsp;{3}&nbsp;&nbsp;&#8220;,&nbsp;win.FirstName,&nbsp; win.LastName, win.BikeModel,&nbsp;win.Winner); } Console.ReadLine(); } &#8211;Group Join: \/\/LINQ&nbsp;Query&nbsp;Example&nbsp;for&nbsp;Group&nbsp;Join \/\/This&nbsp;joins&nbsp;riders&nbsp;that&nbsp;have&nbsp;the&nbsp;same&nbsp;BikeMake public&nbsp;static&nbsp;void&nbsp;RiderBikeGroupJoinQuery() { \/\/create&nbsp;a&nbsp;string&nbsp;array string[]&nbsp;bikeMake&nbsp;=&nbsp;new&nbsp;string[]&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&#8220;Yamaha&#8221;,&nbsp;&#8220;Ducati&#8221; }; \/\/populate&nbsp;the&nbsp;Generic&nbsp;List createRiders(); var&nbsp;linqQuery&nbsp;= &nbsp;&nbsp;&nbsp;&nbsp;from&nbsp;b&nbsp;in&nbsp;bikeMake &nbsp;&nbsp;&nbsp;&nbsp;join&nbsp;r&nbsp;in&nbsp;riderList&nbsp;on&nbsp;b&nbsp;equals&nbsp;r.BikeMake&nbsp;into&nbsp;bm &nbsp;&nbsp;&nbsp;&nbsp;select&nbsp;new&nbsp;{Bikes&nbsp;=&nbsp;b,&nbsp;Models&nbsp;=&nbsp;bm} &nbsp;&nbsp;&nbsp;&nbsp;; foreach&nbsp;(var&nbsp;m&nbsp;in&nbsp;linqQuery) { &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(m.Bikes&nbsp;+&nbsp;&#8220;:&#8221;); &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#8220;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#8220;);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(var&nbsp;x&nbsp;in&nbsp;m.Models) &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(x.BikeModel); &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } Console.ReadLine(); }<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[83],"_links":{"self":[{"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/54"}],"collection":[{"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=54"}],"version-history":[{"count":1,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/54\/revisions"}],"predecessor-version":[{"id":243,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/54\/revisions\/243"}],"wp:attachment":[{"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chrystalsander.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}