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