我正在使用 LINQ to Entities 4.1。
喜欢使用 LINQPAD,但是我注意到 LINQ 查询可能需要很长时间,我相信这是由于所有链接表也被查询。我只需要在我的 asp.net 应用程序中快速发生的顶级结果集。我在其他 LINQ 中使用 Devart 的 Entity Developer 等工具注意到了这一点。显然,当您想要钻取数据时,这非常有用,但当您因为检索速度较慢而不想钻取时就不行了。
关于如何阻止在工具中发生这种嵌套检索的建议。也许这是对我的 LINQ 查询的补充?
我正在使用 LINQ to Entities 4.1。
喜欢使用 LINQPAD,但是我注意到 LINQ 查询可能需要很长时间,我相信这是由于所有链接表也被查询。我只需要在我的 asp.net 应用程序中快速发生的顶级结果集。我在其他 LINQ 中使用 Devart 的 Entity Developer 等工具注意到了这一点。显然,当您想要钻取数据时,这非常有用,但当您因为检索速度较慢而不想钻取时就不行了。
关于如何阻止在工具中发生这种嵌套检索的建议。也许这是对我的 LINQ 查询的补充?
您可以使用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; }
}