title: how to use left join in entity framework query?
body: <p>I am working with entity framework 4.5. I have to convert an SQL query to entity query:</p>
  
  <pre><code>SELECT Customer.CustCode, Invoice.InvoiceId, Invoice.BatchNumber, Invoice.InvoiceDate, Invoice.AdjustFlag, Invoice.InvoiceAmount,
         Invoice.InvoiceNote, Invoice.AmountPaid, Customer.BillingContact, Customer.BillingCompany, Customer.BillingStreet1,
         Customer.BillingStreet2, Customer.BillingCity, Customer.BillingState, Customer.BillingZip, [Order].PickupDate, [Order].OrderNumber,
         [Order].OrderTotal, [Order].ProNumber, [Order].PickupCompany, [Order].PickupCity, [Order].PickUpState, [Order].Dcompany,
         [Order].Dcity, [Order].Dstate, CONVERT(varchar(5), DeliverInTime, 114) AS DelInTime, [Order].PiecesWeight1, [Order].BaseRATE,
         [Order].POD, [Order].Requester, [Order].Po1, [Order].Po2, AccessorialCharge.Description,
         OrderDriverExtraCharge.AccessorialChargeDesc, OrderDriverExtraCharge.AccessorialChargeAmount, [Order].NormalDiscount,
         - 1 * [Order].DISCAmount AS DISCAmount
  FROM (((Invoice INNER JOIN
         [Order] ON Invoice.InvoiceId = [Order].InvoiceId) INNER JOIN
         Customer ON Invoice.CustID = Customer.CustID) LEFT JOIN
         OrderDriverExtraCharge ON [Order].OrderNumberId = OrderDriverExtraCharge.OrderNumberId) LEFT JOIN
         AccessorialCharge ON OrderDriverExtraCharge.AccessorialChargeId = AccessorialCharge.AccessorialChargeId
  where Invoice.InvoiceId = '1117782' 
  </code></pre>
  
  <p>If I change <code>OrderDriverExtraCharge.OrderNumberId) LEFT JOIN</code> to <code>OrderDriverExtraCharge.OrderNumberId) JOIN</code> (simple join) or inner join it's not showing the right result.</p>
  
  <p>I have tried this:</p>
  
  <pre><code>from I in db.Invoices
  join O in db.Orders on I.InvoiceId equals O.InvoiceId
  join C in db.Customers on I.CustId equals C.CustId
  join OD in db.OrderDriverExtraCharges on O.OrderNumberId equals OD.OrderNumberId
  join AC in db.AccessorialCharges on OD.AccessorialChargeId equals AC.AccessorialChargeId
  where I.InvoiceId == invoice.InvoiceId
  select new PrintInvoiceViewModel()
  </code></pre>
  
  <p>But it is not showing the required results. Please help me, I will mark your answer if it worked for me. Thank you.</p>