检查是否已将拦截器和拦截器应用于上下文

时间:2016-03-31 10:16:18

标签: c# entity-framework

我有一个Entity Framework上下文,它继承自ObjectContext,我正在添加一个拦截器。但是,拦截器会被多次添加。有没有办法在声明它时只将拦截器添加到上下文一次?或者作为替代方案,有没有办法检查上下文是否已经附加了拦截器?

1 个答案:

答案 0 :(得分:1)

好的,所以你使用DbInterception.Add方法添加拦截器。

不幸的是,没有Contains方法或任何枚举拦截器的方法。

我看到的唯一方法是在添加拦截器之前调用DbInterception.Remove。但它需要你的拦截器覆盖Equals方法,并根据其内容按类型或其他方式进行比较,即按值而不是按引用进行比较。