发布到Azure数据库的实体框架核心不工作

cxfofazt  于 2023-03-03  发布在  其他
关注(0)|答案(1)|浏览(190)

我是Azure和EF Core的新手。我需要将localhost应用发布到Azure。我使用EF Core时采用了数据库优先的方法。如果我在localhost上运行,数据库可以正常工作,但部署到Azure后,数据库无法正常工作。我创建了Azure SQL数据库,但无法正常工作,我不知道该怎么办。我使用的是Visual Studio、带React模板的ASP.NET Core Web应用。
这是Azure link
这里是github repo
编辑:在我的appsettings.json中没有连接字符串,但在我的dbContext中有:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) => 
      optionsBuilder.UseSqlServer("Server=localhost\\sqlexpress;Initial Catalog=Navbase;Integrated Security=True;TrustServerCertificate=Yes");

当我尝试在发布Azure SQL中更新数据库时,我收到此错误:
无法使用DbContext“Project1.Models.NavbaseContext”的最新迁移更新数据库。
错误:dotnet ef数据库更新--上下文项目1.Models.NavbaseContext

vngu2lb8

vngu2lb81#

你的数据库指向你的本地SQL Server,而不是Azure SQL数据库,也许你可以先进行更改。如果你尚未在Azure中创建Azure SQL示例,请先进行更改,然后获取连接字符串。
你应该做几件事
1.将db连接字符串存储在appsetting中以便更好地控制
1.如果您正在使用Azure,请将数据库连接存储在Azure应用服务配置中,这样,如果您的代码发布在公共存储库中,其他人就不会知道它

相关问题