user7677010
user7677010

Reputation:

Right outer join in linq-to-sql

I'm new in LINQ , i have query which i wrote with SQL server and i wanna Translate/convert to LINQ.Can anyone direct me in the right direction? thx

This is my SQL:

SELECT Contact.Name, Contact.E-Mail, 
       Contact Business Relation.No_
FROM   Contact Business Relation RIGHT OUTER JOIN
          Contact ON Contact Business Relation.Contact No_ = Contact.Company No_
WHERE  (Contact.E-Mail = @mail)


This is my LINQ (I'm not sure i did it in right way):

                var query = from cbr in db.Contact_Business_Relation
                           join c in db.Contact
                           on cbr.Contact_No_ equals c.Company_No_ into f
                           from c in f.DefaultIfEmpty()
                           where c.E_Mail == Mail
                           select new
                           {
                               Mail = c.E_Mail,
                               No = cbr.No_
                           };

Upvotes: 3

Views: 3036

Answers (1)

Aducci
Aducci

Reputation: 26644

Unfortunately there are no right joins in linq. However, you can rearrange your query to use a left join instead.

var query = from c in db.Contact
            join cbr in db.Contact_Business_Relation
            on c.Company_No_ equals cbr.Contact_No_ into f
            from cbr in f.DefaultIfEmpty()
            where c.E_Mail == Mail
            select new
            {
              Mail = c.E_Mail,
              No = cbr.No_
            };

Join Clause

Upvotes: 1

Related Questions