LINQPad中的非缓存结果

Ben*_*sen 1 caching linqpad

如何强制LINQPad从LINQ2SQL查询中获取非缓存结果?

场景是这样的:

1)检查一些数据(来自MyThings中的......选择a).First(); 2)在LINQPad之后立即修改数据(服务调用)3)重新检查一些数据(来自MyThings中的一个......选择一个).First();

这似乎是缓存结果.: - /

Joe*_*ari 8

每次点击F5时,LINQPad都会实例化一个新的DataContext,因此在查询运行之间不可能进行缓存.但是,如果在同一查询中转储两次,则第二个结果将缓存:

Customers.First (c => c.Name == "John").Dump();
Thread.Sleep (5000);
Customers.First (c => c.Name == "John").Dump();   // Result will be cached
Run Code Online (Sandbox Code Playgroud)

这是凭借LINQ to SQL的对象跟踪.您可以通过关闭对象跟踪来禁用它 - 就像通常一样:

ObjectTrackingEnabled = false;
Customers.First (c => c.Name == "Tom").Dump();
Thread.Sleep (5000);
Customers.First (c => c.Name == "Tom").Dump();   // Result will not be cached
Run Code Online (Sandbox Code Playgroud)