Glenn Slaven Glenn Slaven - 7 months ago 14
SQL Question

What is the syntax for an inner join in LINQ to SQL?

I'm writing a LINQ to SQL statement, and I'm after the standard syntax for a normal inner join with an

ON
clause in C#.

How do you represent the following in LINQ to SQL:

select * from table1
inner join table2 on table1.field = table2.field


EDIT: Real query to get all contacts for a dealer:

select DealerContact.*
from Dealer
inner join DealerContact on Dealer.DealerID = DealerContact.DealerID

Answer

It goes something like:

from t1 in db.Table1
join t2 in db.Table2 on t1.field equals t2.field
select new { t1.field2, t2.field3}

It would be nice to have sensible names and fields for your tables for a better example. :)

Update

I think for your query this might be more appropriate:

var dealercontacts = from contact in DealerContact
                     join dealer in Dealer on contact.DealerId equals dealer.ID
                     select contact;

Since you are looking for the contacts, not the dealers.