使用实体框架还原和备份

Ahm*_*emi 3 c# entity-framework

我在一个项目中使用C#,.net 4,Entity Framework和SQL Server 2008 R2.

我不熟悉Entity Framework从数据库备份和恢复.请帮我在Entity Framework中编写恢复和备份代码

ham*_*uri 11

实体框架是一种ORM - 对象 - 关系映射器 - 旨在处理与单个实体和/或实体的短列表的交互.它既不是为批量操作而设计的,也不是服务器管理框架.所以不 - 我不认为你可以使用Entity Framework做到这一点 - 这不是它的工作.

使用适当的工具!使用SQL Server Management Studio来处理备份/恢复 - 或者如果必须以编程方式执行,请使用SMO(服务器管理对象),它准备用于这些类型的作业


Ami*_*eri 5

对于有这个问题的其他朋友....使用
ExecuteSqlCommand可以在EF 6+中备份db.
例如:(此代码创建了数据库的备份,我测试了这个.)

string dbname = db.Database.Connection.Database;
string sqlCommand = @"BACKUP DATABASE [{0}] TO  DISK = N'{1}' WITH NOFORMAT, NOINIT,  NAME = N'MyAir-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10";
db.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, string.Format(sqlCommand,dbname, "Amin9999999999999"));
Run Code Online (Sandbox Code Playgroud)

备份保存在C:\ Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup
ref => https://entityframework.codeplex.com/discussions/454994

但我不建议使用这种方法!

我强烈建议使用以下文章:http :
//www.c-sharpcorner.com/Blogs/8679/backup-and-restore-the-database-in-Asp-Net-web-application.aspx