加入三角关系

时间:2012-06-12 09:50:57

标签: entity-framework ienumerable

关系:

Profil>Branch>City
Profil>Hotel>City

命令:

from p in Profil.getData()
join b in Branch.getData() on p equals b
join h in Hotel.getData() on p equals h
join c in City.getData()
                        ^how to reuse the equals join

我可以加入City to Branch和Hotel table吗? 我可以在没有City.getData()的情况下克隆c吗?

1 个答案:

答案 0 :(得分:0)

当然,只需(遵循您的伪代码):

from p in Profil.getData()
join b in Branch.getData() on p equals b
join h in Hotel.getData() on p equals h
join c1 in City.getData() on b equals c1
join c2 in City.getData() on h equals c2

EF会将此转换为City表的两个别名。所以你不重用或克隆城市,但在SQL中也是不可能的。 SQL服务器将能够在查询的执行计划中对其进行优化。