2011-01-05 6 views
0

StackOverFlow помог мне в другом посте, чтобы построить LINQ ниже. Как я могу изменить LINQ, чтобы применить второе условие и присоединиться ко второй таблице? Второй, где условие будет смотреть на столбец второй таблицы.Получите среднее значение с помощью LINQ и соедините несколько таблиц

var ratingAverage = ctx.Rates.Where(r => r.Id == Id) 
    .GroupBy(g => g.Id, r => r.Rating) 
    .Select(g => new { Id = g.Key, Rating = g.Average() }); 

LINQ выше получит среднее значение и группу по идентификатору. И.Е., у меня есть стол для людей. Я хочу включить таблицу People в LINQ и улучшить условия Where, чтобы фильтровать PersonId. Идентификатор в таблице рейтинга - это внешний ключ в таблице «Люди».

Большое спасибо за предоставленную помощь.

ответ

0
int ratingId = 1; 
int personId = 9; 

var ratingAverage = ctx.Rates.Where(
    r => r.Id == ratingId && r.Person.Id == personId) 
    .GroupBy(g => g.Id, r => r.Rating) 
    .Select(g => new { Id = g.Key, Rating = g.Average() }); 
Смежные вопросы