1

我必须使用 asp.net mvc 4 和实体框架来实现一个管理 Web 程序。

在这个过程中,我让用户执行一些 sql server 数据库的备份和恢复。

我的备份过程没有问题,但还原过程有一些问题。

我认为一个好的 sql 命令序列是这样的:

"ALTER DATABASE [" + prj.Denominazione_Db + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE"

"RESTORE DATABASE [" + prj.Denominazione_Db + "] FROM DISK = '" + fileDaRestorare +"'"

"ALTER DATABASE [" + prj.Denominazione_Db + "] SET MULTI_USER"

"GO"

我将数据库设置为单用户模式,在多用户模式下恢复和重置。我已经使用实体框架连接进行了一些实验,但我收到了一些异常,例如我无法在多命令语句中使用 alter database 命令或无法在事务中调用 alter database 命令。

如果我尝试直接执行恢复,我会收到无法在事务中执行恢复的消息。

你知道我可以使用实体框架连接调用这一系列命令吗?

谢谢,卢卡

4

1 回答 1

0

我建议您不要使用 EF 进行还原。甚至访问 Context.Database。可以触发您不期望的活动。例如 打开/关闭连接?和英孚

建议您 在决定此解决方案之前阅读Context 数据库类。

我故意不要将 EF 用于此类数据库操作

SqlConnectionFactory 
SqlConnection
SqlCommand
于 2013-08-27T17:37:27.100 回答