var query = from c in Customers
join o in Orders on
new {Col1 = c.CustomerID, Col2 = c.CountryCode}
equals
new {Col1 = o.CustomerID, Col2 = o.CountryCode}
into g
from o in g.DefaultIfEmpty()
select new {c.CustomerID, c.CountryCode, OrderId = (o == null ? null : o.OrderId)};