我正在尝试将连接弹性添加到我的存储库类并对其进行测试,以便将我的 WCF 服务移动到 Azure。Julie Lerman 有一篇很棒的文章:
当我调用使用普通实体框架查询的存储库方法时,Interceptor ReaderExecuting 方法被触发,我能够模拟连接问题。
var states = dbContext.Blogs.ToList();
但是由于某种原因,当我使用从存储过程返回的“多个结果集”的存储库方法之一正在执行时,不会调用 Interceptor ReaderExecuting 方法(请参见下面的代码)。我期望在执行“ObjectContext.Translate”或“ToList”时调用 ReaderExecuting 方法,但它没有:
db.Database.Connection.Open();
var reader = cmd.ExecuteReader();
var blogs = ((IObjectContextAdapter)db).ObjectContext.Translate<Blog>(reader).ToList();
仅供参考,我正在关注这篇文章来处理“多个结果集”:
https://msdn.microsoft.com/en-us/data/jj691402.aspx
我正在尝试使用实体框架 6+ 执行策略来处理连接弹性。但是如果它不能处理多个结果集,我的下一个选择是使用 Polly 库来处理瞬态异常。
你有没有遇到过这种情况?
你有什么解决办法吗?