【发布时间】:2009-09-01 16:38:27
【问题描述】:
这会发出内部连接,这是我想要的并且可以工作:
var q =
from itm in esdc.items
join itmImg in esdc.itemImages on itm.itemId equals itmImg.itemId
join itmIdent in esdc.itemIdentities on itm.imgIdentityId equals itmIdent.itemIdentityId
join startImgs in esdc.vStartPgImgs on itmImg.imgId equals startImgs.imgId
select ...
这也有效,但发出了交叉连接。如何获得内部联接?我仔细检查了实体和关系是否正确。
var q =
from itmIdent in esdc.itemIdentities
from itm in itmIdent.items
from itmImg in itm.itemImages
join startImgs in esdc.vStartPgImgs
on itmImg.imgId equals startImgs.imgId
select ...
如果您需要我发布发出的 SQL 和实体设置,请告诉我。
【问题讨论】:
-
你为什么在乎?任何理智的 RDBMS 都会在显式内部连接和带有过滤器的交叉连接上做同样的事情。
标签: linq linq-to-sql sql-server-2008