0

关系:

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 到 Branch 和 Hotel 餐桌吗?我可以在没有 City.getData() 的情况下克隆 c 吗?

4

1 回答 1

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 server 将能够在查询的执行计划中对其进行优化。

于 2012-06-12T13:50:25.410 回答