2014-11-14 138 views
0

我正在尝试在Where子句中使用多连接。Linq Multi加入Where子句

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 Where条款

+0

您的意思是你不知道在哪里放置“Where”子句? – Auguste 2014-11-14 22:03:00

回答

0

在LINQ中不能有非equals连接条件。您可以使用额外的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