使用实体框架我实现了软删除& IDbCommandTreeInterceptor限制数据级别。对于使用上下文的第一个查询,拦截器会被命中。但是再次尝试(刷新浏览器),拦截器被跳过。我已经使用SQL Server管理工作室检查了是否通过更改某些数据来缓存数据。反映了这些变化,但仍然会跳过拦截器。可能导致这种情况发生的原因是什么?
答案 0 :(得分:1)
according to the sources comments这是预期的行为
为查询和插入/更新/删除创建命令树 命令。但是,查询 命令树由模型缓存,这意味着命令树创建只发生 第一次执行查询,此通知仅在此时发生
因此,拦截器结果不能依赖于数据。