【发布时间】:2019-10-04 06:58:15
【问题描述】:
在 Startup.cs 中配置服务这有效:
var connection = Configuration["ConnectionStrings:DefaultConnection"];
services.AddDbContext<MyDbContext>(
options => { options.UseSqlServer(connection); });
在我的 MyDbContext.cs 类中这不起作用:
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;
using OESAC.Models;
namespace OESAC.Models
{
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options)
: base(options)
{ }
public DbSet<Courses> Courses { get; set; }
public DbSet<Sponsors> Sponsors{ get; set; }
public IConfiguration Configuration { get; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
var connection = Configuration["ConnectionStrings:DefaultConnection"];
optionsBuilder.UseSqlServer(connection);
;
}
}
}
我可以对连接字符串进行硬编码,但我希望它根据我的 appSettings.Development.json 和 appSettngs.json(生产)动态更改。我不敢相信我花了这么多时间试图弄清楚这一点。它让我付出的代价远远超过了我得到的报酬。
【问题讨论】:
标签: asp.net-core connection-string razor-pages