我有这段代码:
public class TestDbContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
{
optionsBuilder.UseSqlServer(@"Server=(local);Database=MyDb;Trusted_Connection=True;");
}
}
}
根据描述,这将在TestDbContext的新实例上触发。我有创建新上下文的代码:
TestDbContext ctx = new TestDbContext();
我期待OnConfiguring将被触发,所以我可以设置我的连接字符串,但代码不通过这里(我有断点)。我还需要其他任何东西吗?
答案 0 :(得分:0)
我的DI导致OnConfiguring(..)
也没有解雇。
对我来说,我能够添加一个ctor来解决问题
protected MyDbContext(DbContextOptions options) : base(options)
{
}
或者如果你更喜欢......
protected MyDbContext() : base(new DbContextOptions<MyDbContext>())
{
}