0

我需要帮助将 SQL 查询转换为 LINQ 到实体查询。因此,在我的项目中,我使用实体框架,并基于现有数据库创建了 dbcontext。示例数据库结构如下:

表'A' - ID, - 名称, - ID_C - 'C' 和'A' 之间的关系。

表“B” - ID,- 名称。

表 'A_B' - 'A' 和 'B' 之间的多对多关系 - ID_A, - ID_B。

表“C” - ID,- 名称。

表 'B_C' - 'B' 和 'C' 之间的多对多关系 - ID_B, - ID_C。

表 'D' - ID, - 名称 - ID_A - 'A' 和 'E' 之间的关系。

表 'E' - ID, - 名称 - ID_D - 'D' 和 'E' 之间的关系。

下面是我用来从表“E”中检索数据的 SQL 查询:

SELECT _E.* FROM E AS _E, D AS _D, A AS _A
inner join A_B AS _A_B ON _A_B.ID_B = 4 AND _A_B.ID_A = A.ID
left outer join B_C AS _B_C ON _B_C.ID_B = 4 AND A.ID_C = _B_C.ID_C
WHERE _E.ID_D = _D.ID AND _D.ID_A = _A.ID

我希望上面的查询很清楚:) 不幸的是,当我使用 linq to entity 时,我无法得到相同的结果。创建数据模型时,EF 将所有关系转换为 EntityCollection 对象,因此我无法进行比较:_A_B.ID_A = A.ID,因为没有 A_B 表:/ 我知道我不知道 EF和 LINQ 到实体很好,我需要帮助。有人可以帮我创建这个 SQL 的替代品吗?

4

0 回答 0