【问题标题】:Import data to a temporary database and rename it when finished with MVC将数据导入临时数据库并在使用 MVC 完成后重命名
【发布时间】:2017-05-08 00:01:45
【问题描述】:

我有一个从 XLS 文件数据导入到 MVC 应用程序中的数据库的过程,我想简化它。

此时,该进程检查数据库中每个表中的每个记录,如果记录:

  • 1 - 是新的 -> 然后被插入;
  • 2 - 已更改 -> 然后更新数据库;

然后该过程删除数据库中而不是 XLS 文件中的每条记录。

为了简化流程,我想将 XLS 记录插入到空白数据库中,然后“切换”它们,这样我就不必进行我之前提到的所有检查。

我的问题是我不知道如何根据查询字符串管理旧数据库和新数据库之间的交易:

<add name="DB" connectionString="Data Source=.\sqlexpress;Database=DB;UID=user;pwd=pass;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />

还有数据上下文:

    public DbContext() : base("DB") 
    {
        // Tells Entity Framework that we will handle the creation of the database manually for all the projects in the solution
        Database.SetInitializer<DbContext>(null);
    }

【问题讨论】:

  • for each record in each table in the database 听起来很吓人..你是说一张桌子吗。
  • 您好,谢谢!是的,没错,XLS 文件中包含了申请第二天的所有新数据。

标签: c# asp.net-mvc database entity-framework


【解决方案1】:

使用我在Question 中写的答案。 添加辅助构造函数或类似的东西以更改连接字符串,然后使用这个新的系统设置来存储所有连接字符串的列表并添加两个变量:actualDB、newDB。 然后在进行这些操作之后,您只需要编写一个打开 xml 文件的代码,将 actualDB 更改为 newDB 的值(并清理这个)。

从那一刻起,您将使用新的值重新加载实际数据库的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 2017-12-20
    • 2017-05-28
    • 1970-01-01
    相关资源
    最近更新 更多