C# EF Core DbContext在AKS中出错,但在容器中不在本地

C# EF Core DbContext在AKS中出错,但在容器中不在本地,c#,azure,entity-framework-core,C#,Azure,Entity Framework Core,我有一个简单的控制台应用程序正在更新数据库(数据库托管在Azure中)。我正在手动配置DbContext,如下所示: var options = new Microsoft.EntityFrameworkCore.DbContextOptions<MyContext>(); var myContext = new MyContext(options); var myRepository = new MyRepository(myContext

我有一个简单的控制台应用程序正在更新数据库(数据库托管在Azure中)。我正在手动配置DbContext,如下所示:

var options = new Microsoft.EntityFrameworkCore.DbContextOptions<MyContext>();            
var myContext = new MyContext(options);         
var myRepository = new MyRepository(myContext);
public class MyContext : DbContext, IMyContext
{
    public MyContext(DbContextOptions<MyContext> options) : base(options) { }
    public DbSet<MyEntity> MyData { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer( ... );
    }
}
var options=new Microsoft.EntityFrameworkCore.DbContextOptions();
var myContext=新的myContext(选项);
var myRepository=newmyrepository(myContext);
MyContext看起来像这样:

var options = new Microsoft.EntityFrameworkCore.DbContextOptions<MyContext>();            
var myContext = new MyContext(options);         
var myRepository = new MyRepository(myContext);
public class MyContext : DbContext, IMyContext
{
    public MyContext(DbContextOptions<MyContext> options) : base(options) { }
    public DbSet<MyEntity> MyData { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer( ... );
    }
}
公共类MyContext:DbContext,IMyContext { 公共MyContext(DbContextOptions选项):基本(选项){} 公共DbSet MyData{get;set;} 配置时受保护的覆盖无效(DBContextOptions Builder Options Builder) { optionsBuilder.UseSqlServer(…); } } 我编译并在本地的容器中运行它,它工作得很好。但是,一旦我将映像添加到AKS群集,我就会出现以下错误:

未处理的异常:System.InvalidOperationException:无数据库 已为此DbContext配置提供程序。提供者可以是 通过重写DbContext.onconfig方法或通过 在应用程序服务提供程序上使用AddDbContext。如果 使用AddDbContext,然后还要确保您的DbContext类型 在其构造函数中接受DbContextOptions对象,然后 将其传递给DbContext的基构造函数。在 Microsoft.EntityFrameworkCore.Internal.DbContextServices.Initialize(IServiceProvider scopedProvider、IDbContextOptions、DbContext context(上下文)选项)
在 Microsoft.EntityFrameworkCore.DbContext.get\u InternalServiceProvider() 在Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()中 在 Microsoft.EntityFrameworkCore.DbContext.EntryWithoutDetectChanges(对象 实体)在 Microsoft.EntityFrameworkCore.DbContext.SetEntityState(对象实体, EntityState(实体状态)位于 Microsoft.EntityFrameworkCore.DbContext.Add(对象实体)位于


据我所知,我完全按照它的建议做了;虽然我真的不明白为什么它在AKS中表现不同。有人能帮我解释一下吗?

我通常会在Startup.cs中传递conenction字符串,而不是在Context类中传递。services.AddDbContext(options=>options.UseSqlServer(Configuration.GetConnectionString(“mydbstring”));如果这会有任何不同,则不需要担心。这是一个控制台应用程序,因此我没有Asp.Net核心基础结构。@SmileyDev显示
UseSqlServer(…)的完整代码
由于它只是在中包含连接字符串,我不确定这是否有用。本地和AKS的连接字符串是否相同?我通常会在Startup.cs中传递连接字符串,而不是在Context类中传递。services.AddDbContext(options=>options.UseSqlServer(Configuration.GetConnectionString(“mydbstring”));如果这会有任何不同,则不需要担心。这是一个控制台应用程序,因此我没有Asp.Net核心基础结构。@SmileyDev显示
UseSqlServer(…)的完整代码
因为它只包含连接字符串,我不确定这是否有用。本地和AKS的连接字符串是否相同?