Я пишу здесь непосредственно, не имея C# компилятор открыт, но он должен работать:
using(var context = new DataContext())
{
var query = from detail in context.UserDetails
where detail.AppearOnReport = 1
select new
{
Id = detail.Id,
FirstName = detail.FirstName,
Surname = detail.Surname,
Count = context.COESDetails.Count(li => li.InspectorId = detail.Id)
};
}
Проблема этого запроса является то, что берет на себя все столбцы из таблицы UserDetails (или я так думаю, что). Я помню, что вы могли бы как-то указать только определенные столбцы, а не все сопоставленные столбцы из объекта.
В любом случае, вы можете проверить мой запрос с помощью SQL Profiler. Если вы хотите играть больше со ссылкой, есть инструмент для этого: LINQPad.
Cheers!
Используя нижеследующее/программное обеспечение, вы можете легко преобразовать SQL-запрос в LinqQuery. http://www.sqltolinq.com/ –