[英]How to correctly create a database using entity framework code first approach
[英]How do I create database backups using C#-WPF-Entity-Framework Code First application?
我首先使用實體框架代碼開發桌面應用程序,我需要通過使用按鈕單擊事件在db上創建備份。 我正在使用Entity-Framework版本6.1.3,Visual Studio 2013 Ultimate。
盡管你不需要EF做備份/恢復,這是從一個代碼片段在這里 。 閱讀完整文章了解詳細信息和要求。
public static void BackupDatabase(string backUpFile)
{
ServerConnection con = new ServerConnection(@"xxxxx\SQLEXPRESS");
Server server = new Server(con);
Backup source = new Backup();
source.Action = BackupActionType.Database;
source.Database = "MyDataBaseName";
BackupDeviceItem destination = new BackupDeviceItem(backUpFile, DeviceType.File);
source.Devices.Add(destination);
source.SqlBackup(server);
con.Disconnect();
}
public static void RestoreDatabase(string backUpFile)
{
ServerConnection con = new ServerConnection(@"xxxxx\SQLEXPRESS");
Server server = new Server(con);
Restore destination = new Restore();
destination.Action = RestoreActionType.Database;
destination.Database = "MyDataBaseName";
BackupDeviceItem source = new BackupDeviceItem(backUpFile, DeviceType.File);
destination.Devices.Add(source);
destination.ReplaceDatabase = true;
destination.SqlRestore(server);
}
實體框架是一種ORM - 對象 - 關系映射器 - 旨在處理與單個實體和/或實體的短列表的交互。 它既不是為批量操作而設計的,也不是服務器管理框架。 所以不 - 我不認為你可以使用Entity Framework做到這一點 - 這不是它的工作
使用適當的工具! 使用SQL Server Management Studio來處理備份/恢復 - 或者如果必須以編程方式執行,請使用SMO(服務器管理對象),它專門用於這些類型的作業。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.