2014-11-14 5 views
0

Я пытаюсь использовать множественное соединение с предложением Where.Linq Multi Join with Where clause

SQL код имеет следующий рабочий

SELECT... 
FROM clients as c 
JOIN members as m ON 
(
    c.Id = m.clientId AND 
    c.groupId = m.groupId AND 
    c.created < m.created 
) 

код LINQ - я не знаю, где в угоду 'где' пункт

from c in clients 
join m in members ON 
{ClientId = c.Id,GroupId = c.groupId} equals 
{ClientId = m.clientId, GroupId = m.groupId} 

** (c.created < м .created) отсутствует **

где я помещаю c.created Where Clause

+0

Вы имеете в виду, что не знаете, где разместить предложение «Где»? – Auguste

ответ

0

У вас не может быть условий подключения equals в LINQ. Вы можете использовать дополнительный пункт WHERE, чтобы получить эквивалентные результаты:

from c in clients 
join m in members on 
new {ClientId = c.Id,GroupId = c.groupId} 
equals new {ClientId = m.clientId, GroupId = m.groupId} 
where c.created < m.created