1

我正在使用 LINQ to Entities 4.1。

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

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

4

1 回答 1

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; }
}
于 2013-10-21T15:06:16.207 回答