2013-10-21 35 views
1

我正在使用LINQ to Entities 4.1。有没有办法阻止LINQ查询检索LINQPAD等工具中的所有嵌套查询?

享受使用LINQPAD,但我注意到,LINQ查询可能需要很长时间,我相信这是由于所有链接的表也被查询。我只需要在我的asp.net应用程序中发生的顶级结果集,这很快。我在其他LINQ中使用Devart的Entity Developer等工具注意到了这一点。显然,当你想要钻取数据时,这非常有用,但是当你不想检索速度慢时,这一点非常有用。

关于如何阻止嵌套检索发生在工具中的建议。也许这是我的LINQ查询的补充?

回答

4

您可以使用Dump(this object o, int depth)重载来控制查询的深度。

例如:

myQuery.Dump(1); 

只会选择返回的对象,但不是这些属性的属性的属性的东西。

如果您运行下面的例子中,你可以看到它在行动:

void Main() 
{ 
    var a = new A 
    { 
     B = new B 
     { 
      Foo = "Deep", 
     }, 
    }; 

    a.Dump(); //Shows properties of all properties. 
    a.Dump(1); //Does not show properties of B. 
} 

class A 
{ 
    public B B { get; set; } 
} 

class B 
{ 
    public String Foo { get; set; } 
} 
+0

精彩。我对转储很好奇。现在一切都很清楚。非常感谢。 – SamJolly

相关问题