如何强制LINQPad从LINQ2SQL查询中获取非缓存结果?
场景是这样的:
1)检查一些数据(来自MyThings中的......选择a).First(); 2)在LINQPad之后立即修改数据(服务调用)3)重新检查一些数据(来自MyThings中的一个......选择一个).First();
这似乎是缓存结果.: - /
每次点击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)
| 归档时间: |
|
| 查看次数: |
921 次 |
| 最近记录: |