【发布时间】:2018-07-05 09:34:53
【问题描述】:
我在 App_Data 文件夹中定义了数据库。是否可以使用包含 App_Data if 文件夹的数据库部署我的应用程序?还是自动更新 azure db?或者如果不可能手动更新 azure db 的最佳方式是什么?
【问题讨论】:
标签: asp.net .net azure deployment webdeploy
我在 App_Data 文件夹中定义了数据库。是否可以使用包含 App_Data if 文件夹的数据库部署我的应用程序?还是自动更新 azure db?或者如果不可能手动更新 azure db 的最佳方式是什么?
【问题讨论】:
标签: asp.net .net azure deployment webdeploy
为您提供第一个解决方案
如果你使用实体框架,你可以直接更新,第一步你必须替换Web.config中的数据库连接字符串:
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=OnlineAuctionDb;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\OnlineAuctionDb.mdf" providerName="System.Data.SqlClient"/>
通过azure数据库的连接字符串
<add name="DefaultConnection" connectionString="Data Source=xxxxxxx.database.windows.net,1433;Initial Catalog=database;User Id=user@xxxxxxxx.database.windows.net;Password=mypassword" providerName="System.Data.SqlClient"/>
如果您发布后检查此值“选择运行代码首先迁移”,如您在此图片中看到的那样
在最后一步中,您单击“发布”按钮
为您提供第二个解决方案
您应该从本地数据库获取 SQL 脚本并在远程数据库上运行它。 (不要忘记在发布前更改 web.config 中的连接字符串以进行测试)
【讨论】:
进入你的项目目录,打开*.csproj文件,在Project标签下添加如下代码
<ItemGroup>
<Content Include="App_Data\*">
<CopyToPublishDirectory>always</CopyToPublishDirectory>
</Content>
</ItemGroup>
然后再次发布,App_Data文件夹下的所有文件都会上传到azure。
我们还可以在 VS 中更新我们的 Azure Db:Tutorial: Build an ASP.NET app in Azure with SQL Database
【讨论】: