我在App_Data文件夹中定义了数据库。如果使用文件夹,是否可以部署包含数据库App_Data的应用程序?还是自动更新azure db?或者,如果不可能,手动更新azure db的最佳方法是什么?
答案 0 :(得分:4)
为您提供的第一个解决方案
如果使用实体框架,则可以进行直接更新,第一步,您必须替换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"/>
通过天蓝色数据库的连接字符串
<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"/>
如果您在发布后选中此值,则如图中所示,选中“选择运行代码First Migrations”
在最后一步中,单击“发布”按钮
为您提供的第二个解决方案
您应该从本地数据库获取SQL脚本,然后在远程数据库上运行它。 (发布前不要忘记更改web.config中的连接字符串以进行测试)
答案 1 :(得分:0)
转到您的项目目录,打开* .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