2014-01-30 36 views
0

我会尽力解释我的问题,因为它很复杂。实体框架,选择与“如果存在”类似的条件

我已经在我的DB以下方案用的表:

A(1) - >(N)B(N) - >(N)C(1) - >(n)的d(1 )< - (n)E

这意味着A的一个元素与B的许多元素相关等。 箭头的方向是关于外键。乙作为ID_A,但A作为不ID_B等

我的目标是选择条件‘“为E中的至少一个元件以下条件A的所有元素’。

我已经尝试了梯级“其中”和“任何”长行作为我的胳膊,但没有发现任何的成功。

有没有什么简单的方法来做到这一点?

非常感谢

+0

请问您可以在where/any语句中添加一些尝试吗?在你期待实现的复杂查询中,有时可以让生活更轻松地考虑你期望实体框架生成的SQL,并用它来考虑查询的外观。 –

回答

0

你可以做

from a in A 
where a.Bs.Any(b => b.Cs.Any(c => c.Ds.Any(d => d.Es.Any(e => CONDITION(e))))) 
0

对不起,我找到了一个使用sql server视图的解决方案。

简单,需要4个内连接和4个条件。

再次感谢!