实体框架优化包含,提供包含提示

时间:2013-02-05 19:33:17

标签: entity-framework entity-framework-4 entity-framework-5

是否可以为Include linq查询提供提示,以便优化子表的连接?

我有一个非常通用的数据模型,因此表之间有多个参照约束。我正在使用遗留系统,所以改变它将是非常困难的。

我有一个类似下面的查询,它会生成非常复杂的SQL查询。

var links = A.B.CreateSourceQuery()
                            .Include("B1")
                            .Include("B1.C1")
                            .Include("B1.D1")
                            .ToArray();

是否有办法为上述查询提供关于如何加入相应子实体的提示,以便生成的SQL更加优化和高效,并且可以急切地加载数据。

1 个答案:

答案 0 :(得分:2)

请参阅http://www.thinqlinq.com/Post.aspx/Title/LINQ-to-Database-Performance-hints上的帖子,特别是关于分解复杂查询的问题。在你拿两套孙子孙女的情况下,你的表现可能会受到影响。您可能需要考虑自定义投影而不是多个包含。