Я определил две сущности, которые отображаются в две таблицы в моей базе данных.В SQL я бы сделал соединение следующим образом:
select * from tableA a left outer join tableB b on b.ID = a.ID where some condition
Как я могу сделать это с помощью запроса LINQ?
Используя выражения Labda, вы используете GroupJoin
Пример:
var query = People .GroupJoin( Pets, person => person.PersonId, pet => per.Owner, (person, petCollection) => new { Person = person, Pets = petCollection.Select(pet => pet.Name), });
См .: Как выполнить левое внешнее соединение (Руководство по программированию в C #) в MSDN.
Например:
var query = from person in people join pet in pets on person equals pet.Owner into gj from subpet in gj.DefaultIfEmpty() select new { person.FirstName, PetName = (subpet == null ? String.Empty : subpet.Name) };