Skip to content

Fix sample code for connection strings from Configuration #3877

Open
@the-programmer

Description

@the-programmer

Today i wanted to start with a simple blazor app. However it seems that the syntax for loading the connection string has been changed in .NET 6.

The current way is:

public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<BloggingContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("BloggingDatabase")));
}

However this seems to generate a CS0103 The name 'Configuration' does not exist in the current context. The namespace Microsoft.Extensions.Configuration is imported.

In .NET 6 the code seems to be the following instead of the current sample. However this generates the error.

builder.Services.AddDbContext<AppDbContext>(options =>
{
    options.UseSqlServer(Configuration.GetConnectionString("BloggingDatabase"));
});

Steps to reproduce.

  • In VS2022 create a new "Blazor server app" or "Blazor webassembly app" (when creating a "Blazor webassembly app" be shure to select the "ASP.NET Core hosted" checkbox)
  • Set the framework to .NET 6.0
  • Open "Program.cs"
  • Try to set the connection string.

Update: If you use the "Individual accounts" template the correct syntax is generated

var connectionString = builder.Configuration.GetConnectionString("DefaultConnection");
builder.Services.AddDbContext<ApplicationDbContext>(options =>
    options.UseSqlServer(connectionString));

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions