How to join multiple tables at a time using LINQ to SQL?http://forums.asp.net/t/1797254.aspx/1?How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+Wed, 02 May 2012 04:18:08 -040017972544952683http://forums.asp.net/p/1797254/4952683.aspx/1?How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+How to join multiple tables at a time using LINQ to SQL? <p>&nbsp; Users:<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userid&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp; email<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; venkat&nbsp;&nbsp; v@g.com<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; venu&nbsp;&nbsp;&nbsp;&nbsp; ve@g.com<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raghu&nbsp;&nbsp;&nbsp; r@g.com<br> <br> &nbsp;&nbsp;&nbsp; patners:<br> &nbsp;&nbsp;&nbsp; id&nbsp;&nbsp; userid&nbsp;&nbsp; patnerid&nbsp; status<br> &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br> &nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br> <br> &nbsp;&nbsp;&nbsp; location:<br> &nbsp;&nbsp;&nbsp; id&nbsp;&nbsp; userid&nbsp;&nbsp;&nbsp; lat&nbsp;&nbsp;&nbsp; lon<br> &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12.00&nbsp; 13.00<br> &nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14.00&nbsp; 12.00<br> &nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14.00&nbsp; 14.23<br> <br> if user sends request as userid=1 then i need to pull his patners [2,3] lat,lon values and their names...<br> how to achieve this?</p> <p></p> <p>edit:</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var result = from pa in&nbsp; cxt.patners<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join us in cxt.users&nbsp; on&nbsp; pa.userid equals us.userid<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join location in cxt.location&nbsp; on pa.patnerid&nbsp; equals location.userid<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where pa.User_Id == 1<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select new { patnerid= pa.patnerid, patnername= us.Name, Lat = location.lat, Lon = location.lon};</p> <p></p> <p>by using above query i am getting correct results but always i am getting unique username whose id=1 but i want show patner names.please tell me<br> <br> </p> 2012-04-26T11:04:29-04:004952698http://forums.asp.net/p/1797254/4952698.aspx/1?Re+How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+Re: How to join multiple tables at a time using LINQ to SQL? <p>Here a lot of LINQ Sample: <a href="http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b"> http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b</a></p> 2012-04-26T11:10:40-04:004952709http://forums.asp.net/p/1797254/4952709.aspx/1?Re+How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+Re: How to join multiple tables at a time using LINQ to SQL? <p>Here one of my code for your sample:</p> <pre class="prettyprint">var members = from s in ObjectContext.PersonCategory join c in ObjectContext.CategorizedPerson on s.ParentCategoryID equals c.PersonCategoryID join p in ObjectContext.Person on c.BusinessEntityID equals p.BusinessEntityID select new PersonHierarchyDataService() { Sequence = sequence, Id = p.BusinessEntityID, ParentId = item.PersonCategoryID, Level = catLevel, Name = p.FirstName, MiddleName = p.MiddleName, LastName = p.LastName, Title = p.Title, Type = p.PersonType, ItemDescription = &quot;Person&quot;, IsMember = true };</pre> <p>Have fun</p> 2012-04-26T11:15:36-04:004952736http://forums.asp.net/p/1797254/4952736.aspx/1?Re+How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+Re: How to join multiple tables at a time using LINQ to SQL? <pre class="prettyprint">var a = from u in v.users join p in v.patners on u.userid equals p.partnerid into pu join l in v.locations on u.userid equals l.userid into lu from l in lu.DefaultIfEmpty() from p in pu.DefaultIfEmpty() where u.userid == i select new { user = u, partners = p, loca = l };</pre> <p></p> <p></p> 2012-04-26T11:26:33-04:004952743http://forums.asp.net/p/1797254/4952743.aspx/1?Re+How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+Re: How to join multiple tables at a time using LINQ to SQL? <p>Hi</p> <p>You can use:</p> <p>List&lt;int&gt; patnerids = new List&lt;int&gt;();<br> patnerids.Add(2);<br> patnerids.Add(3);</p> <p>var result = from u in context.<span>Users</span><br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; join p in context.Patners on u.userid equal p.userid<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; join l in context.Location on u.userid equal l.userid<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; where patnerids.Contains(p.patnerid) &amp;&amp; u.userid == 1<br> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; select u;&nbsp;</p> <p>&nbsp;I hope this help.</p> <p><br> &nbsp; &nbsp;&nbsp;</p> <p>&nbsp;</p> <p>};</p> 2012-04-26T11:28:53-04:004952758http://forums.asp.net/p/1797254/4952758.aspx/1?Re+How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+Re: How to join multiple tables at a time using LINQ to SQL? <p>Try this</p> <pre class="prettyprint">var result = from partner in Partners join user in Users on user.UserId equals partner.PartnerId join location in Locations on location.UserId equals partner.PartnerId where partner.UserId == 1 select new { PartnerId = partner.PartnerId, PartnerName = user.Name, Lat = location.Lat, Lon = location.Lon };</pre> <p><br> <br> <br> </p> <p></p> 2012-04-26T11:36:37-04:004954183http://forums.asp.net/p/1797254/4954183.aspx/1?Re+How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+Re: How to join multiple tables at a time using LINQ to SQL? <p></p> <p></p> <p>&nbsp;var result = from pa in cxt.Friends<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join us in cxt.Patners&nbsp;&nbsp; on pa.User_Id equals us.User_Id<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join location in cxt.Location on pa.Friend_UserId equals location.User_Id<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where pa.User_Id == incID<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select new { userid = pa.Friend_UserId, patnerName = us.User_Name, Lat = location.Latitude, Lon = location.Longitude };</p> <p>in above query i am getting correct results but&nbsp;&nbsp;&nbsp; partner name always i am getting user name whose id value has 1.how to get patnernames .please tell me.....</p> <p></p> 2012-04-27T05:59:08-04:004956511http://forums.asp.net/p/1797254/4956511.aspx/1?Re+How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+Re: How to join multiple tables at a time using LINQ to SQL? <p></p> <blockquote><span class="icon-blockquote"></span> <h4>venkateswarareddy</h4> in above query i am getting correct results but&nbsp;&nbsp;&nbsp; partner name always i am getting user name whose id value has 1.how to get patnernames .please tell me.....</blockquote> <p></p> <p>The above example tells you that when pa.User_Id equals 1an example onlyplease change to any other Id number that you want</p> <p>Reguards</p> 2012-04-29T00:31:55-04:004960777http://forums.asp.net/p/1797254/4960777.aspx/1?Re+How+to+join+multiple+tables+at+a+time+using+LINQ+to+SQL+Re: How to join multiple tables at a time using LINQ to SQL? <p>Users:<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userid&nbsp;&nbsp;&nbsp; name&nbsp;&nbsp;&nbsp; email<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; venkat&nbsp;&nbsp; v@g.com<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; venu&nbsp;&nbsp;&nbsp;&nbsp; ve@g.com<br> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raghu&nbsp;&nbsp;&nbsp; r@g.com<br> <br> &nbsp;&nbsp;&nbsp; patners:<br> &nbsp;&nbsp;&nbsp; id&nbsp;&nbsp; userid&nbsp;&nbsp; patnerid&nbsp; status<br> &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br> &nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<br> <br> &nbsp;&nbsp;&nbsp; location:<br> &nbsp;&nbsp;&nbsp; id&nbsp;&nbsp; userid&nbsp;&nbsp;&nbsp; lat&nbsp;&nbsp;&nbsp; lon<br> &nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12.00&nbsp; 13.00<br> &nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14.00&nbsp; 12.00<br> &nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14.00&nbsp; 14.23</p> <p></p> <p>QUery:</p> <pre class="prettyprint">var result = from partner in Partners join user in Users on user.UserId equals partner.PartnerId join location in Locations on location.UserId equals partner.PartnerId where partner.UserId == 1 select new { PartnerId = partner.PartnerId, PartnerName = user.Name, Lat = location.Lat, Lon = location.Lon }; by passing userid=1 as parameter i am getting the below result: patnerid patnername lat lon 2 venkat 14.00 12.00 3 venkat 14.00 14.23 by observation of above result here patnernames are wrong for patnerid 2 patname was venu but displaying &quot;venkat&quot; for patnerid 3 patnername was raghu but displaying venkat. how to display patnernames?</pre> <p></p> <p></p> 2012-05-02T04:18:08-04:00