EF6 拦截 SQL 并记录到 DB OutOfMemoryException

我正在尝试记录我记录到表中的 SQL,但我收到了 OutOfMemoryException。我知道为什么会出现异常,但我不知道如何避免它。


应用程序数据库上下文:


public class ApplicationDbContext : IdentityDbContext<ApplicationUser> {   

    public ApplicationDbContext() :

            base("IdentityDBContext", false) {

        DbInterception.Add(new InsertUpdateInterceptor());

    }

}

网络数据实体:


   public WebDataEntities()

            : base("name=WebDataEntities")

        {

        }

我收到异常是因为当我尝试记录 SQL 时,它卡在一个循环中,试图记录应该将 sql 记录到数据库的 sql。但是我使用了两个不同的上下文,为什么它要尝试两次记录 SQL?


慕婉清6462132
浏览 222回答 2
2回答

元芳怎么了

格特搞定了。我只是在第二次通读中注意到了这一点。要将拦截器添加到单个上下文:public ApplicationDbContext() :&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; base("IdentityDBContext", false)&nbsp;{&nbsp; &nbsp; this.AddInterceptor(new InsertUpdateInterceptor());}
打开App,查看更多内容
随时随地看视频慕课网APP