2011-02-08 3 views
1

Предположим, у меня есть 3 таблицы:Как написать запрос linq для этого случая?

Таба (ID1, ...., ID2, ...)

TABB (id2, ...)

TabC (id3, ... ., id2, ...)

Теперь я хочу, чтобы узнать все записи в TabC, эти записи должны быть идентифицированы из TabA по его id1. Если использование SQL, запрос будет

Выберите с. * из TabC с

присоединиться к TABB б на c.id2 = b.id2

присоединиться Таба а, на a.id2 = b.id2

Где id1 = inputID

Как написать этот LINQ, как, когда я использую EF и WCF Ria Service для SL-приложения?

this.ObjectContext.TabC.Where (.....

ответ

0

я нормально делать это так (я считаю, что легче читать):

var q = 
from c in ctx.TabC 
from b in ctx.TabB.Where(b=> b.id2 == c.id2) 
from a in ctx.TabA.Where(a=> a.id2 == b.id2) 
where a.id1 == inputID 
select new {....}; 

Я надеюсь, что это помогает

!