实体框架发布到 azure 数据库不起作用

问题描述 投票:0回答:1

我是 azure 和 EF 的新手。我需要将 localhost 应用程序发布到 azure。我正在使用 EF DB 优先方法。如果我在本地主机上运行,但在 azure db 上部署后数据库不起作用,我创建了 azure sql 数据库,但那不起作用,我不知道该怎么做。我正在使用 visual studio。带有 react trmplate 的 asp.net 核心 Web 应用程序。 这是azure链接

这里是github repo

编辑: 在我的应用程序设置中没有连接字符串但是 在我的 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 数据库更新 --context Project1.Models.NavbaseContext"

azure entity-framework asp.net-core .net-core entity-framework-core
1个回答
0
投票

您的数据库指向您的本地 MSSQL 服务器而不是 Azure SQL 数据库,也许您可以先更改它。如果您尚未在 Azure 中创建 Azure SQL 实例,请先执行此操作,然后获取连接字符串。

这里有几件事你应该做

  1. 在 appsetting 中存储数据库连接字符串以便更好地控制
  2. 如果您使用的是 Azure,请将该数据库连接存储在 azure 应用程序服务配置中,这样如果您的代码发布在公共存储库中,其他人就不会知道它
© www.soinside.com 2019 - 2024. All rights reserved.