LINQ Left Outer Join with conditions <p>I have the below tables that are coming from my SQL Database with Entity Framework 5.</p> <p>What I want to do is select all users where tblUserBusiness.BUID equals a passed in value OR where the Users.IsSysAdmin equals True. If the Users.IsSysAdmin equals True there will be no relating tblUserBusiness records hence the Left Outer Join.</p> <p><img src="https://i.stack.imgur.com/UuoYY.png" alt="enter image description here"></p> <p>I started with the below LINQ query that filtered correctly but did not allow for the Outer Join</p> <pre><code> businessUsers = (From u In db.Users From bu In db.tblUserBusinesses Where bu.BUID.Equals(buID) Or u.IsSysAdmin.Equals(True) Select New Users With {.ID = u.ID, .Name = u.Name, .UserName = u.UserName}).ToList </code></pre> <p>Then I moved onto the below query which allows for the Outer Join but I have no idea how to implement the <code>Where bu.BUID.Equals(buID) Or u.IsSysAdmin.Equals(True)</code></p> <pre><code> businessUsers = (From u In db.Users Group Join bu In db.tblUserBusinesses On u Equals bu.User Into userList = Group Select New Users With {.ID = u.ID, .Name = u.Name, .UserName = u.UserName}).ToList </code></pre> <p>Basically what I am after is the LINQ equivalent to the below TSQL</p> <pre><code>SELECT Users.ID, Users.UserName, Users.Name FROM Users LEFT OUTER JOIN tblUserBusiness ON Users.ID = tblUserBusiness.UserID WHERE (Users.IsSysAdmin = 1) OR (tblUserBusiness.BUID = 5) </code></pre>