WPF - 如何以编程方式备份​​/恢复 LocalDB - ClickOnce

2023-12-12

我有一个使用 EF 和 LocalDB 作为数据库的应用程序,由 ClickOnce 发布。 这是我第一次使用 LocalDB,我不知道如何向我的应用程序添加一个功能来以编程方式备份​​/恢复数据库。

我的 ClickOnce 安装的应用程序路径:

C:\Users\Mahdi Rashidi\AppData\Local\Apps\2.0\NOL11TLW.9XG\CZM702AQ.LPP\basu..tion_939730333fb6fcc8_0001.0002_fd707bbb3c97f8d3

这是数据库文件安装的位置:

C:\Users\Mahdi Rashidi\AppData\Local\Apps\2.0\NOL11TLW.9XG\CZM702AQ.LPP\basu...exe_939730333fb6fcc8_0001.0002_none_8c555c3966727e7f
  1. 如何备份/恢复数据库?
  2. 如何保证数据库免受 ClickOnce 进一步更新的影响?

多谢 :)


这就是我为 localDb 的备份和恢复所做的

public void BackupDatabase(string filePath)
    {
        using (TVend2014Entities dbEntities = new TVend2014Entities(BaseData.ConnectionString))
        {
            string backupQuery = @"BACKUP DATABASE ""{0}"" TO DISK = N'{1}'";
            backupQuery = string.Format(backupQuery, "full databsase file path like C:\tempDb.mdf", filePath);
            dbEntities.Database.SqlQuery<object>(backupQuery).ToList().FirstOrDefault();
        }
    }

    public void RestoreDatabase(string filePath)
    {
        using (TVend2014Entities dbEntities = new TVend2014Entities(BaseData.ConnectionString))
        {
            string restoreQuery = @"USE [Master]; 
                                                ALTER DATABASE ""{0}"" SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
                                                RESTORE DATABASE ""{0}"" FROM DISK='{1}' WITH REPLACE;
                                                ALTER DATABASE ""{0}"" SET MULTI_USER;";
            restoreQuery = string.Format(restoreQuery, "full db file path", filePath);
            var list = dbEntities.Database.SqlQuery<object>(restoreQuery).ToList();
            var resut = list.FirstOrDefault();
        }
    }

希望这是你想要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WPF - 如何以编程方式备份​​/恢复 LocalDB - ClickOnce 的相关文章

随机推荐

  • 通过链接将一张纸上的列转置为另一张纸上的行

    我在工作表 A 中的 A1 A10 中有一列数据 在工作表 B 中 我有 A1 J1 中的数据范围 我需要将工作表 A 中的列中的数据转置到工作表 B 中的数据范围 我可以 选择性粘贴 并粘贴值 但我需要工作表 A 中的信息自动更新工作表
  • JAXB 提供商列表

    AFAIK JAXB 只是一个规范 JSR222 Java 1 6 有一个它的实现 但它也被称为 JAXB 这让我感到困惑 因为 JPA 也是一种 JSR 规范 但 JPA 提供者有 EclipseLink Hibernate 等名称 那么
  • Hibernate Search:为自定义 FieldBridge 配置 Facet

    在这个例子中DateSplitBridge java动态字段被添加到索引文档中 public class DateSplitBridge implements FieldBridge public void set String name
  • 检查哪个摄像头是前置摄像头还是后置摄像头 Android

    我知道我可以设置一个boolean flag while opening front Camera 如果 flag 为 true 则表示前置摄像头已打开 但是有没有办法使用 Android API 知道哪个相机现在处于打开状态 正面或背面
  • SQLAlchemy 循环一对一关系

    我正在尝试与 SQLAlchemy 建立循环的一对一关系 不确定正确的术语是什么 如下所示 class Parent Base tablename parents id db Column Integer primary key True
  • 当绑定发生在另一个函数中时,Sqlite _only_ 找不到行

    所以我自己写了一个小包装函数来为我准备一个声明 sqlite3 stmt Gladiateur run query unfinalized string query vector
  • WPF,使用 XAML 中的 XPath 和 XmlDataProvider 根据 ComboBox 中选定的值选择节点

    这个问题与我的上一个问题但更具体 假设我有两个组合框 一个填充了产品名称 另一个为空 选择产品后 我希望第二个组合框填充与该产品相关的数据 我有如下 XML
  • Microsoft Office OneNote C++ API?

    我正在考虑通过 C 编程修改 Microsoft Office OneNote 内容 具体在使用快速归档对话框界面 但是那里提供的所有示例都是针对C 的 我想知道C 的API是否可用 如果有的话我可以从哪里开始学习它们 我只是想使用该对话框
  • Angular 5测试组件静态方法

    我正在测试的 Component 类上有一个静态方法 我的问题是如何在我的规范测试文件中访问该方法 到目前为止 我可以通过以下方式访问组件实例 let fixture TestBed createComponent MyComponent
  • 如何执行递归搜索?

    我有一个任务类 它可以有相同类型的子任务 public class Task public DateTime Start get set public DateTime Finish get set public List
  • 我对套接字的 fwrite 不会刷新,直到套接字关闭。如何改变?

    我对套接字的 fwrite 不会刷新 直到套接字关闭 如何改变 我希望它在每次写入后刷新 我试过了 1 冲洗 2 刷新 3 ob implicit flush 真 这些都不起作用 我仍然必须退出 php 让我的套接字接收数据 包括一些示例代
  • Rails:如何使用范围在数组数组中查找元素

    我有一个数组数组 例如 2 3 3 1 6 1 每个子数组的第一个元素是用户 ID 第二个元素是用户为活动预订的座位数 我想让每个用户通过在数组中查找他的 ID 来查看他的预订 假设我有两个模型 用户和事件 在用户控制器中 我想使用类似的范
  • 唯一标识调试器中的引用类型

    我有 C 背景 如果这是非 C 的思维方式 我很抱歉 但我只需要知道 在 C 中 如果我有两个指针 并且我想知道它们是否指向同一对象 我可以查看内存 监视窗口并查看它们的值 看看它们是否指向相同的内存空间 在 C 中 我还没有找到类似的东西
  • Silverlight 中的对象深复制

    我试图创建对象的副本银光5其中 IFormatters 和 IcCloanble 等接口不支持 我的对象是这样的 注意这些对象是在反序列化xml时获得的 我尝试像这样复制 XmlRoot ElementName component publ
  • 如何更改每个选项卡的颜色?

    我有一个表单 上面有四个选项卡 我希望每个选项卡具有不同的颜色 我在互联网上找到的唯一内容是如何更改所选选项卡的颜色 而其余选项卡保持原始颜色 我还没有找到任何东西可以为每个选项卡赋予自己的颜色 我目前拥有的代码是 Private Sub
  • 通过谷歌脚本更改表单调色板

    我需要帮助 我正在使用 Google 应用程序脚本来创建 Google 表单 如何更改表单的颜色 调色板 我试图在这里找到https developers google com apps script reference forms 但什么
  • 如何使用 Xamarin Forms 创建具有垂直粘性标题和水平粘性第一列的表格?

    在显示表格数据时 我认为在某些情况下 具有始终可见的标题行和始终可见的第一列确实可以提高表格的可读性和整体可用性 特别是当表格中有大量数据时 当表格必须支持水平和垂直滚动时 就会出现问题 在查看过去比赛的得分时 可以从 NBA 应用程序中找
  • 整数线性编程 Java:有多种开源和商业工具可用。使用哪一个?

    我需要为我的应用程序使用整数线性编程 API 工具 虽然我的应用程序是用 Java 编写的 但我不介意从 Java 调用 EXE 工具 使用文件 MPS 等 提供输入 我的搜索分析如下 有多种开源和商业工具可用于解决 ILP 以下问题 我发
  • 如何在Python中获取函数的实际参数名称?

    例如 def func a how to get the name x x 1 func x 如果我使用inspect模块我可以获得堆栈帧对象 import inspect def func a print inspect stack ou
  • WPF - 如何以编程方式备份​​/恢复 LocalDB - ClickOnce

    我有一个使用 EF 和 LocalDB 作为数据库的应用程序 由 ClickOnce 发布 这是我第一次使用 LocalDB 我不知道如何向我的应用程序添加一个功能来以编程方式备份 恢复数据库 我的 ClickOnce 安装的应用程序路径