C# 基于ASP.Net实体框架的数据库备份

C# 基于ASP.Net实体框架的数据库备份,c#,asp.net,azure,azure-sql,C#,Asp.net,Azure,Azure Sql,我有个有趣的案子。我无法访问Azure订阅。但是,我仍然可以发布ASP.Net应用程序,因为我配置了一个发布配置文件,该文件仍然有效。请注意,这并不是违法的-关于VS订阅的公司内部政策;可以说,这个应用程序是我的,由我编写,由我维护等等 我需要创建数据库备份,但我唯一能做的就是发布应用程序。应用程序的设置中显然嵌入了连接字符串,但由于防火墙设置(仅限Azure服务),我无法连接到数据库。因此,我需要找到一种方法,通过控制器和操作转储数据 到目前为止,我设法手动转储了大多数表(例如,var dat

我有个有趣的案子。我无法访问Azure订阅。但是,我仍然可以发布ASP.Net应用程序,因为我配置了一个发布配置文件,该文件仍然有效。请注意,这并不是违法的-关于VS订阅的公司内部政策;可以说,这个应用程序是我的,由我编写,由我维护等等

我需要创建数据库备份,但我唯一能做的就是发布应用程序。应用程序的设置中显然嵌入了连接字符串,但由于防火墙设置(仅限Azure服务),我无法连接到数据库。因此,我需要找到一种方法,通过控制器和操作转储数据

到目前为止,我设法手动转储了大多数表(例如,
var data=context.Table.ToList();
),然后将结果输出到视图中。但是,这不会导出我无法直接访问的内部ASP.Net表(例如用户/角色声明等)

请记住,我们谈论的是Azure SQL,它不同于常规SQL Server


如何备份数据库,以便将应用程序迁移到其他订阅?

如果您也可以发布您的Web应用程序。您可以创建一个
API
函数并调用它。类似于:

您可以创建
过程
,并运行该过程以生成
.bak
文件以生成blob( 前提是您需要了解blob相关信息。)

示例代码如下:


如果您还可以发布您的Web应用程序。您可以创建一个
API
函数并调用它。类似于:

您可以创建
过程
,并运行该过程以生成
.bak
文件以生成blob( 前提是您需要了解blob相关信息。)

示例代码如下:

什么是“内部ASP.NET表”?你说的是旧的ASP.NET成员模式?为什么不能使用ADO.NET从这些表中读取数据?您知道如何编写SQL命令吗?什么是“内部ASP.NET表”?你说的是旧的ASP.NET成员模式?为什么不能使用ADO.NET从这些表中读取数据?您知道如何编写SQL命令吗?