簡體   English   中英

如何使用C#-WPF-Entity-Framework Code First應用程序創建數據庫備份?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM