从实体框架连接还原数据库



我必须使用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数据库命令或无法在事务内部调用alter数据库命令。

如果我尝试直接执行还原,我会收到无法在事务内执行还原的消息。

你知道我如何使用实体框架连接来调用这一命令序列吗?

谢谢,luca

我建议您不要使用EF进行恢复。即使访问Context.Database.也可能触发您意想不到的活动。例如打开/关闭连接?和EF

建议您阅读上下文数据库类在你决定这个解决方案之前。

我故意不使用EF进行此类DB操作只有

SqlConnectionFactory 
SqlConnection
SqlCommand

最新更新