public void Simple_query_and_update_works_with_wrapping_provider_setup_at_EF_level_only() { WrappingAdoNetProvider <SqlClientFactory> .WrapProviders(); var log = WrappingAdoNetProvider <SqlClientFactory> .Instance.Log; log.Clear(); ExtendedSqlAzureExecutionStrategy.ExecuteNew( () => { using (var context = new EfLevelBlogContext()) { var blog = context.Blogs.Single(); Assert.Equal("Half a Unicorn", blog.Title); Assert.Equal("Wrap it up...", blog.Posts.Single().Title); using (context.Database.BeginTransaction()) { blog.Posts.Add( new Post { Title = "Throw it away..." }); Assert.Equal(1, context.SaveChanges()); Assert.Equal( new[] { "Throw it away...", "Wrap it up..." }, context.Posts.AsNoTracking().Select(p => p.Title).OrderBy(t => t)); } } }); // Sanity check that the wrapping provider really did get used var methods = log.Select(i => i.Method).ToList(); Assert.Contains("ExecuteReader", methods); Assert.Contains("ExecuteNonQuery", methods); Assert.Contains("Open", methods); Assert.Contains("Close", methods); Assert.Contains("Commit", methods); Assert.Contains("Generate", methods); }