为什么第二次查询会跳过IDbCommandTreeInterceptor?

时间:2017-10-09 15:32:11

标签: c# entity-framework entity-framework-6 queryinterceptor

使用实体框架我实现了软删除& IDbCommandTreeInterceptor限制数据级别。对于使用上下文的第一个查询,拦截器会被命中。但是再次尝试(刷新浏览器),拦截器被跳过。我已经使用SQL Server管理工作室检查了是否通过更改某些数据来缓存数据。反映了这些变化,但仍然会跳过拦截器。可能导致这种情况发生的原因是什么?

1 个答案:

答案 0 :(得分:1)

according to the sources comments这是预期的行为

  

为查询和插入/更新/删除创建命令树   命令。但是,查询   命令树由模型缓存,这意味着命令树创建只发生   第一次执行查询,此通知仅在此时发生

因此,拦截器结果不能依赖于数据。