Как написать запрос linq для этого случая?

Предположим, у меня есть 3 таблицы:

TabA(id1, ...., id2, ...)

TabB(id2, ...)

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

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

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

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

присоединиться к TabA a на a.id2 = b.id2

Где id1 = inputID

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

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


person KentZhou    schedule 08.02.2011    source источник


Ответы (1)


Я обычно делаю это так (мне легче читать):

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 {....};

Надеюсь, это поможет!

person Andrei    schedule 08.02.2011