Normally In ASP.NET Core the configuration connection string could be stored in appsettings.json, an environment variable, the user secret store, or another configuration source. See the Configuration section
{
"ConnectionStrings": {
"BloggingDatabase": "Server= (localdb)\\mssqllocaldb;Database=EFGetStarted.ConsoleApp.NewDb;Trusted_Connection=True;"
},}
The context is typically configured in Startup.cs with the connection string being read from configuration. Note the GetConnectionString() method looks for a configuration value whose key is ConnectionStrings:. You need to import the Microsoft.Extensions.Configuration namespace to use this extension method.
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<BloggingContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("BloggingDatabase")));
}
Here is the more details.
For windows forms it should be diffent.
you can add and configuration file to your project for storing your connection string.The connection string should be added to your application's App.config file (Web.config if you are using ASP.NET)
<configuration>
<connectionStrings>
<add name="BloggingDatabase"
connectionString="Server=(localdb)\mssqllocaldb;Database=Blogging;Trusted_Connection=True;" />
</connectionStrings>
</configuration>
The providerName setting is not required on EF Core connection strings
stored in App.config because the database provider is configured via
code.
You can then read the connection string using the ConfigurationManager API in your context's OnConfiguring method. You may need to add a reference to the System.Configuration framework assembly to be able to use this API.
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder
optionsBuilder)
{
optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["BloggingDatabase"].ConnectionString);
}
}