将数据导入临时数据库,并在完成MVC后重命名

时间:2016-12-22 11:12:21

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

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

目前,进程检查数据库中每个表中的每条记录是否记录:

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

然后,该进程将删除数据库中的所有记录,而不是XLS文件中的记录。

为简化过程,我想将XLS记录插入空白数据库,然后,"切换"他们所以我不必做我之前提到的所有检查。

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

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

和Datacontext:

    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);
    }

1 个答案:

答案 0 :(得分:1)

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

从那一刻起,您将使用新的值重新加载actualDB的值。