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);
        }