【问题标题】:ASP.NET MVC - How to Deploy to Azure using Entity Framework Model/Database First?ASP.NET MVC - 如何首先使用实体​​框架模型/数据库部署到 Azure?
【发布时间】:2017-07-11 04:17:20
【问题描述】:

所以,我首先使用实体​​框架数据库构建了我的应用程序。我的数据库只有两张表,很小。

我在 YT 上看过一些关于部署到 Azure 的视频,但看起来他们都使用 CodeFirst 方法,然后在包管理器上使用启用迁移,然后他们使用复选框发布应用程序以执行代码迁移。

但由于我使用 Database First 构建了我的应用程序,因此我无法使用此功能。启用迁移功能仅适用于 Code First。

那么,我该怎么做才能将我的数据库放在 Azure 上并部署我的应用程序?

使用解决方案编辑:

在 SQL Server 管理工具上,如果您单击数据库上的右键并转到任务,您将找到以下选项“在 Azure SQL Server 数据库上植入数据库”。

您只需要指定云中服务器的实例、登录名和密码,然后单击下一步,它将为您部署数据库。 重要提示:首先,您需要与本地计算机和 Azure Sql Server 建立连接。为此,您需要将机器的 IP 地址插入云上服务器的防火墙定义中。在这个链接中有很好的解释:https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/database-first-development/publish-to-azure

然后,迁移数据库后,您只需要获取您在 AzureCloud 上插入的新数据库的 ConnectionString,然后在 Visual Studio 上转到您的应用程序,发布,更新您的连接字符串并部署。

【问题讨论】:

    标签: c# asp.net asp.net-mvc entity-framework azure


    【解决方案1】:

    请按照以下步骤进行操作:

    1. 右键单击项目并选择发布。

    2. 选择 Microsoft Azure 网站。

    3. 选择新建以创建新的网络应用程序。(如果未登录,请输入您的凭据)

    4. 填写必要的详细信息并为数据库创建新服务器,并为此新数据库服务器提供用户名和密码。完成后,点击创建。

    5. 保持值不变,这些是您的连接值。

    6. 单击数据库连接旁边的省略号 (...),记下数据库服务器和数据库的名称。

    7. 单击“确定”并在“发布 Web”窗口中单击“下一步”查看预览。点击发布。

    发布后,网站会立即在网络浏览器中启动。您的站点已部署,但是由于您的表尚未发布,您将收到错误消息。

    将数据库发布到 SQL Azure

    • 在发布数据库之前,您必须确保本地计算机可以连接到数据库服务器。数据库服务器的防火墙限制了哪些机器可以连接到数据库。您需要将计算机的 IP 地址添加到防火墙允许的 IP 地址中。
    • 通过 Azure 门户登录您的 Azure 帐户。
    • 选择您的新数据库并选择管理。
    • 您必须将数据库服务器配置为允许来自您的计算机的连接。当您选择管理时,系统会要求您在允许的情况下将当前 IP 地址添加到数据库服务器。选择是。
    • 您在上一步中添加的 IP 地址可能不是您需要为连接配置的唯一 IP 地址。您可以尝试登录到数据库以查看连接是否已正确设置。提供您之前创建的用户名和密码。

    如果您收到错误消息,您需要添加另一个 IP 地址。单击错误消息以查看有关错误的更多详细信息。在详细信息中,您将看到需要添加的 IP 地址。记下这个 IP 地址。

    • 关闭此登录窗口,然后返回 Azure 门户。导航到数据库的仪表板。点击管理允许的 IP 地址。

    • 您现在必须添加错误消息中的 IP 地址。更改允许的 IP 地址范围以包含错误消息中的 IP 地址,或者将该 IP 地址添加为单独的条目。

    • 将更改保存到允许的 IP 地址。单击管理,然后尝试再次登录数据库。在为防火墙正确配置允许的 IP 地址之前,您可能需要等待几分钟。当您可以成功登录数据库时,您已完成与数据库的连接设置。

    您可以将此管理窗口保持打开状态,因为您将很快检查数据库部署的结果。

    • 返回到您的数据库项目。右键单击项目并选择发布。

    • 在“发布数据库”窗口中,选择“编辑”。

    • 提供数据库服务器的名称和服务器的身份验证凭据。提供凭据后,从可用数据库列表中选择您创建的数据库。默认情况下,Visual Studio 将数据库字段的名称设置为您的项目名称,该名称可能与您创建的数据库不同。单击“确定”。点击发布。

    你就完成了

    docs.microsoft.com has good documentation

    【讨论】:

    • azure的新界面门户没有这个“管理选项”。它在“定义服务器的防火墙”上吗?这是我找到的唯一选择...
    • 我设法连接到天蓝色数据库...但我找不到如何发布...在您提到的链接中,在那部分:“在发布数据库窗口中,选择编辑。提供数据库服务器的名称和服务器的身份验证凭据。提供凭据后,从可用数据库列表中选择您创建的数据库。默认情况下,Visual Studio 将数据库字段的名称设置为您的名称项目可能与您创建的数据库不同。”好吧,当我点击发布时,我找不到这个选项发布数据库...
    • 看起来他在项目中使用的数据库来自 Visual Studio...我的数据库是在 SQL Management Studio 上创建的...
    【解决方案2】:

    要发布您的数据库,您可以单击设置链接,如下所示。

    在设置面板,你可以设置连接字符串,并在发布时选择更新数据库。

    【讨论】:

    • 我的选项中没有此复选框...这里的选项是“使用代码优先执行迁移”,但由于我使用 DataBase First 生成实体框架的模型,所以该复选框没有不适合我...
    • 你用的是哪个版本的VS?我的是 Visual Studio 2017 社区。​​span>
    • 我的也一样...顺便说一句,我成功了!事实证明,幸运的是,我在 Sql Server Management Studio 中找到了一个选项,即 Task -> Implant Database on SQL Database of Azure,它就像一个向导,与 Visual Studio 的发布数据库执行相同的操作。您指定服务器的实例,将用户、密码和它迁移到 azure 的数据库。它救了我哈哈!我将使用解决方案编辑帖子
    • 很高兴听到您找到了解决方案,并感谢您分享解决方案。
    猜你喜欢
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-23
    相关资源
    最近更新 更多