是否可以为Include linq查询提供提示,以便优化子表的连接?
我有一个非常通用的数据模型,因此表之间有多个参照约束。我正在使用遗留系统,所以改变它将是非常困难的。
我有一个类似下面的查询,它会生成非常复杂的SQL查询。
var links = A.B.CreateSourceQuery()
.Include("B1")
.Include("B1.C1")
.Include("B1.D1")
.ToArray();
是否有办法为上述查询提供关于如何加入相应子实体的提示,以便生成的SQL更加优化和高效,并且可以急切地加载数据。
答案 0 :(得分:2)
请参阅http://www.thinqlinq.com/Post.aspx/Title/LINQ-to-Database-Performance-hints上的帖子,特别是关于分解复杂查询的问题。在你拿两套孙子孙女的情况下,你的表现可能会受到影响。您可能需要考虑自定义投影而不是多个包含。