2013-10-21 34 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

相關問題