我已经基于仅包含一对键值的第三个表在两个表之间建立了多对多关联。现在我想做一个查询,将右表键值按左分组,而不需要其他数据。
LeftTable { LeftID, LeftField1, LeftField2 }
JoinTable { LeftID, RightID}
RightTable { RightID, RightField1, RightField2 }
有什么方法可以基本上只查询 JoinTable 并获取由“LeftIDs”分组的所有“RightIDs”,而无需 SQL 尝试从任一侧获取字段?JoinTable 本身不是模型中的实体,而是映射到关联。
我已经对使用 ObjectQuery 和 EntityCommand (ESQL) 进行了一些试验,并且两者似乎仍然通过加入我不需要的 RightTable 加载到其他字段中。
我的 ESQL 看起来像:
SELECT lt.LeftID, (SELECT rt.RightID
FROM NAVIGATE(lt, MyModel.LeftToRightAssoc, RightTable) as rt)
FROM MyEntities.LeftTable as lt;
但生成的 SQL 仍在 RightField1 和 RightField2 中获取。
当然必须有一个更简单的方法来做到这一点?