将SQL查询转换为linq到实体

时间:2013-07-17 13:57:41

标签: entity-framework linq-to-entities

我需要帮助将SQL查询转换为LINQ到实体查询。 所以,在我的项目中,我使用Entity Framework,并且我已经基于现有数据库创建了dbcontext。 样本DB结构如下:

表'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实体时,我无法得到相同的结果。当我的数据模型被创建时,EF将所有关系转换为EntityCollection对象,因此我无法进行比较:_A_B.ID_A = A.ID,因为没有A_B表:/我知道我不知道EF和LINQ实体很好,我需要帮助。有人可以帮我创建这个SQL的替代品吗?

0 个答案:

没有答案