title: How can I get Glimpse to work with EF6?
body: <p><strong>EDIT</strong>: stack trace added at bottom.</p>
  
  <p>I have an ASP.NET MVC 5 project that uses a SQL Server database via Entity Framework 6.</p>
  
  <p>I added Glimpse (and Glimpse.MVC5) to the project, and that works fine.</p>
  
  <p>However, when I add Glimpse.EF6, my application throws an exception as soon as it attempts to access the database. The exception is:</p>
  
  <p><strong><code>System.NotSupportedException</code></strong></p>
  
  <blockquote>
    <p>Unable to determine the provider name for provider factory of type 'System.Data.SqlClient.SqlClientFactory'. Make sure that the ADO.NET provider is installed or registered in the application config.</p>
  </blockquote>
  
  <p>What's going on? FYI, the <code>connectionStrings</code> part of my web.config looks like this:</p>
  
  <pre><code>&lt;connectionStrings&gt;
    &lt;add name="DefaultConnection" connectionString="Data Source=.; Initial Catalog=foo; Integrated Security=True; MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" /&gt;
  &lt;/connectionStrings&gt;
  </code></pre>
  
  <p>...and my <code>Application_Start</code> method looks like this:</p>
  
  <pre><code>protected void Application_Start()
  {
      AreaRegistration.RegisterAllAreas();
      GlobalConfiguration.Configure(WebApiConfig.Register);
      FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
      RouteConfig.RegisterRoutes(RouteTable.Routes);
      BundleConfig.RegisterBundles(BundleTable.Bundles);
  
      Database.SetInitializer(new WebApplication.Models.Storage.ApplicationDbInitializer());
  }
  </code></pre>
  
  <p>...and my context class looks like this:</p>
  
  <pre><code>public class ApplicationDbContext : IdentityDbContext&lt;ApplicationUser&gt;
  {
      public ApplicationDbContext()
          : base("DefaultConnection")
      {
      }
  
      public DbSet&lt;Foo&gt; Foos { get; set; }
  }
  </code></pre>
  
  <p>Thanks in advance for any help...</p>
  
  <hr>
  
  <p><strong>STACK TRACE:</strong></p>
  
  <pre><code>[NotSupportedException: Unable to determine the provider name for provider factory of type 'System.Data.SqlClient.SqlClientFactory'. Make sure that the ADO.NET provider is installed or registered in the application config.]
  System.Data.Entity.Utilities.DbProviderFactoryExtensions.GetProviderInvariantName(DbProviderFactory factory) +290
  System.Data.Entity.Infrastructure.DependencyResolution.DefaultInvariantNameResolver.GetService(Type type, Object key) +248
  System.Data.Entity.Infrastructure.DependencyResolution.&lt;&gt;c__DisplayClass1.&lt;GetService&gt;b__0(Tuple`2 k) +75
  System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +72
  System.Data.Entity.Infrastructure.DependencyResolution.CachingDependencyResolver.GetService(Type type, Object key) +210
  System.Data.Entity.Infrastructure.DependencyResolution.&lt;&gt;c__DisplayClass3.&lt;GetService&gt;b__0(IDbDependencyResolver r) +60
  System.Linq.WhereSelectArrayIterator`2.MoveNext() +66
  System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source, Func`2 predicate) +161
  System.Data.Entity.Infrastructure.DependencyResolution.ResolverChain.GetService(Type type, Object key) +250
  System.Data.Entity.Infrastructure.DependencyResolution.RootDependencyResolver.GetService(Type type, Object key) +106
  System.Data.Entity.Infrastructure.DependencyResolution.&lt;&gt;c__DisplayClass3.&lt;GetService&gt;b__0(IDbDependencyResolver r) +60
  System.Linq.WhereSelectArrayIterator`2.MoveNext() +66
  System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source, Func`2 predicate) +94
  System.Data.Entity.Infrastructure.DependencyResolution.ResolverChain.GetService(Type type, Object key) +250
  System.Data.Entity.Infrastructure.DependencyResolution.CompositeResolver`2.GetService(Type type, Object key) +102
  System.Data.Entity.Infrastructure.DependencyResolution.DbDependencyResolverExtensions.GetService(IDbDependencyResolver resolver, Object key) +145
  System.Data.Entity.Core.Common.&lt;&gt;c__DisplayClass5.&lt;GetExecutionStrategy&gt;b__4(ExecutionStrategyKey k) +84
  System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +72
  System.Data.Entity.Core.Common.DbProviderServices.GetExecutionStrategy(DbConnection connection, DbProviderFactory providerFactory) +351
  System.Data.Entity.Core.Common.DbProviderServices.GetExecutionStrategy(DbConnection connection) +62
  System.Data.Entity.SqlServer.SqlProviderServices.UsingConnection(DbConnection sqlConnection, Action`1 act) +319
  System.Data.Entity.SqlServer.SqlProviderServices.UsingMasterConnection(DbConnection sqlConnection, Action`1 act) +335
  System.Data.Entity.SqlServer.SqlProviderServices.GetDbProviderManifestToken(DbConnection connection) +399
  System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) +132
  
  [ProviderIncompatibleException: The provider did not return a ProviderManifestToken string.]
  System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) +327
  Glimpse.EF.AlternateType.GlimpseDbProviderServices.GetDbProviderManifestToken(DbConnection connection) +113
  System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) +255
  System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection) +67
  
  [ProviderIncompatibleException: An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure.]
  System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection) +277
  System.Data.Entity.Infrastructure.&lt;&gt;c__DisplayClass1.&lt;ResolveManifestToken&gt;b__0(Tuple`3 k) +63
  System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory) +72
  System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.ResolveManifestToken(DbConnection connection) +360
  System.Data.Entity.Utilities.DbConnectionExtensions.GetProviderInfo(DbConnection connection, DbProviderManifest&amp; providerManifest) +89
  System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection) +79
  System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) +143
  System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input) +171
  System.Data.Entity.Internal.LazyInternalContext.InitializeContext() +594
  System.Data.Entity.Internal.InternalContext.Initialize() +31
  System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +39
  System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +138
  System.Data.Entity.Internal.Linq.InternalSet`1.Include(String path) +41
  System.Data.Entity.Infrastructure.DbQuery`1.Include(String path) +142
  System.Data.Entity.QueryableExtensions.Include(IQueryable`1 source, String path) +205
  System.Data.Entity.QueryableExtensions.Include(IQueryable`1 source, Expression`1 path) +305
  Microsoft.AspNet.Identity.EntityFramework.UserStore`6.GetUserAggregateAsync(Expression`1 filter) +610
  Microsoft.AspNet.Identity.EntityFramework.UserStore`6.FindByNameAsync(String userName) +1070
  Microsoft.AspNet.Identity.&lt;FindByNameAsync&gt;d__10.MoveNext() +283
  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
  System.Runtime.CompilerServices.ConfiguredTaskAwaiter.GetResult() +24
  Microsoft.AspNet.Identity.&lt;FindAsync&gt;d__18.MoveNext() +673
  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
  System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() +24
  WebApplication.Controllers.&lt;Login&gt;d__2.MoveNext() in c:\Users\Gary\Documents\Visual Studio 2013\Projects\eByGum\WebApplication\Controllers\AccountController.cs:49
  System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
  System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
  System.Runtime.CompilerServices.TaskAwaiter.GetResult() +21
  System.Threading.Tasks.TaskHelpersExtensions.ThrowIfFaulted(Task task) +61
  System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +114
  System.Web.Mvc.Async.&lt;&gt;c__DisplayClass37.&lt;BeginInvokeAsynchronousActionMethod&gt;b__36(IAsyncResult asyncResult) +66
  System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +47
  System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +136
  System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102
  System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +49
  Castle.Proxies.AsyncControllerActionInvokerProxy.EndInvokeActionMethod_callback(IAsyncResult asyncResult) +42
  Castle.Proxies.Invocations.AsyncControllerActionInvoker_EndInvokeActionMethod.InvokeMethodOnTarget() +103
  Castle.DynamicProxy.AbstractInvocation.Proceed() +117
  Glimpse.Core.Extensibility.CastleInvocationToAlternateMethodContextAdapter.Proceed() +48
  Glimpse.Mvc.AlternateType.EndInvokeActionMethod.NewImplementation(IAlternateMethodContext context) +152
  Glimpse.Core.Extensibility.AlternateTypeToCastleInterceptorAdapter.Intercept(IInvocation invocation) +183
  Castle.DynamicProxy.AbstractInvocation.Proceed() +483
  Castle.Proxies.AsyncControllerActionInvokerProxy.EndInvokeActionMethod(IAsyncResult asyncResult) +203
  System.Web.Mvc.Async.AsyncInvocationWithFilters.&lt;InvokeActionMethodFilterAsynchronouslyRecursive&gt;b__3f() +117
  System.Web.Mvc.Async.&lt;&gt;c__DisplayClass48.&lt;InvokeActionMethodFilterAsynchronouslyRecursive&gt;b__41() +323
  System.Web.Mvc.Async.&lt;&gt;c__DisplayClass33.&lt;BeginInvokeActionMethodWithFilters&gt;b__32(IAsyncResult asyncResult) +44
  System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +47
  System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +136
  System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102
  System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +50
  System.Web.Mvc.Async.&lt;&gt;c__DisplayClass2b.&lt;BeginInvokeAction&gt;b__1c() +72
  System.Web.Mvc.Async.&lt;&gt;c__DisplayClass21.&lt;BeginInvokeAction&gt;b__1e(IAsyncResult asyncResult) +184
  System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +42
  System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +133
  System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56
  System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +40
  System.Web.Mvc.Controller.&lt;BeginExecuteCore&gt;b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +34
  System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +70
  System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139
  System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59
  System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40
  System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44
  System.Web.Mvc.Controller.&lt;BeginExecute&gt;b__15(IAsyncResult asyncResult, Controller controller) +39
  System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +62
  System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139
  System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59
  System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40
  System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +39
  System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +39
  System.Web.Mvc.MvcHandler.&lt;BeginProcessRequest&gt;b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +39
  System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +70
  System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139
  System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59
  System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40
  System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +40
  System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +38
  System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9514812
  System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +155
  </code></pre>