 <p>You can't do it with a LINQ join, basically - LINQ only directly supports equijoins.</p> <p>You <em>can</em> however do:</p> <pre><code>var query = from trip in db.Trips from driver in db.Drivers where trip.DriverId == driver.DriverId || trip.CoDriverId == driver.DriverId select new { driver.DriverId, trip.TripId }; </code></pre> <p>That may well end up with the same join in the converted SQL.</p>