LINQ加入多表

我有4张桌子:

table1 id1, fk_tbl2 //this is the foreign key to the "id" in table2 table2 id2, fk_tbl3 //this is the foreign key to the "id" in table3 table3 id3, fk_tbl4 //this is the foreign key to the "id" in table4 table4 id4, name 

我想创建一个多表连接,当用户输入“id4”时,我可以获得“table1”中的记录列表。

如何在C#中编写连接? 谢谢。

 from t1 in table1 join t2 in table2 on t1.fk_tbl2 equals t2.id2 join t3 in table3 on t2.fk_tbl3 equals t3.id3 join t4 in table4 on t3.fk_tbl4 equals t4.id4 where t4.id4 == id select t1