在ASP.NET Core中,可以通过配置文件将连接字符串传递给DbContext。以下是一种解决方法,包括示例代码:
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=YourDatabase;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
public class Startup
{
private readonly IConfiguration _configuration;
public Startup(IConfiguration configuration)
{
_configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
string connectionString = _configuration.GetConnectionString("DefaultConnection");
services.AddDbContext(options =>
options.UseSqlServer(connectionString));
// 其他配置...
}
// 其他方法...
}
using Microsoft.EntityFrameworkCore;
public class YourDbContext : DbContext
{
private readonly string _connectionString;
public YourDbContext(string connectionString)
{
_connectionString = connectionString;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(_connectionString);
}
// 其他DbSet和配置...
}
现在,您可以在应用程序中使用YourDbContext来访问数据库,它将使用从配置文件中获取的连接字符串进行连接。