title: Adding DbContextOptions in Startup.cs not registering data store
body: <p>My problem is that the below code does not register a data store during startup. This is the specific "error" statement I get in the response from the application:</p>
  
  <pre><code>An unhandled exception occurred while processing the request.
  
  InvalidOperationException: No data stores are configured. Configure a data store by overriding OnConfiguring in your DbContext class or in the AddDbContext method when setting up services.
      Microsoft.Data.Entity.Storage.DataStoreSelector.SelectDataStore(ServiceProviderSource providerSource)
  </code></pre>
  
  <p>In ConfigureServices(IServiceCollection services) I am trying to specify DbContextOptions for my DbContext in a lambda. Code:</p>
  
  <pre><code>services.AddEntityFramework(Configuration)
      .AddSqlServer()
      .AddDbContext&lt;MyDbContext&gt;(
          options =&gt;
          options.UseSqlServer(Configuration.Get("Data:DefaultConnection:ConnectionString"))
      );
  </code></pre>
  
  <p>In my DbContext, I have a constructor which sends the option to base, code:</p>
  
  <pre><code>public MyContext(DbContextOptions options) : base(options) { }
  </code></pre>
  
  <p>My configuration file config.json, which is read at startup, contains this connectionstring:</p>
  
  <pre><code>"Data": {
      "DefaultConnection": {
          "ConnectionString": "Server=(localdb)\\MSSQLLocalDB;Database=MyDbName;Trusted_Connection=True;MultipleActiveResultSets=True;"
      }
  }
  </code></pre>
  
  <p>I have previously used</p>
  
  <pre><code>protected override void OnConfiguring(DbContextOptions options)
  {
      options.UseSqlServer(Startup.Configuration.Get("Data:DefaultConnection:ConnectionString"));
  
  }
  </code></pre>
  
  <p>in my DbContext successfully. It registers the data store and it works properly, but I'd rather use the lambda way.</p>
  
  <p>If there is any more information needed, I'll provide it.</p>