C# 在Windows Metro应用程序C中合并两个sqlite数据库

C# 在Windows Metro应用程序C中合并两个sqlite数据库,c#,windows,sqlite,windows-phone-8.1,microsoft-metro,C#,Windows,Sqlite,Windows Phone 8.1,Microsoft Metro,我有两个sqlite数据库,希望合并多个表的所有内容。我读了这篇文章:但这在C Metro应用程序/Windows 8.1/Windows Phone 8.1应用程序中不起作用。我尝试了以下代码: SQLiteAsyncConnection connection1 = new SQLiteAsyncConnection("Employee.sqlite"); SQLiteAsyncConnection connection2 = new SQLiteAsyncConnection("Custom

我有两个sqlite数据库,希望合并多个表的所有内容。我读了这篇文章:但这在C Metro应用程序/Windows 8.1/Windows Phone 8.1应用程序中不起作用。我尝试了以下代码:

SQLiteAsyncConnection connection1 = new SQLiteAsyncConnection("Employee.sqlite");
SQLiteAsyncConnection connection2 = new SQLiteAsyncConnection("Customer.sqlite"); 

var result = await connection1.QueryAsync<TableEmployee>("Select Name, Address FROM TableEmployee");

        foreach (var item in result)
        {
            var EmployeeList = new List<TableEmployee>()
        {
            new TableEmployee()
            {
                Name = item.Name,
                Address = item.Address
            }
        };
            await connection2.InsertAllAsync(EmployeeList);
        }
我试图通过实现一个简单的逻辑来解决这个问题,如下所示:

从第一个数据库的一个表中读取所有内容

接下来,将它们全部插入另一个数据库的下一个表中

此代码段从第一个数据库Employee.sqlite的TableEmployee表中读取所有列:Name和Address,并将其插入到第二个数据库Customer.sqlite的TableCustomer表中,该表也具有相同的两列Name和Address


如果有多个表,如何做到这一点?还有别的办法解决这个问题吗?救命啊

经过大量研究,我成功地解决了这个问题:

SQLiteAsyncConnection connection1 = new SQLiteAsyncConnection("Employee.sqlite");
SQLiteAsyncConnection connection2 = new SQLiteAsyncConnection("Customer.sqlite"); 

public async void MergeDatabase()
    {
        string test1 = ApplicationData.Current.LocalFolder.Path + "\\Employee.sqlite";
        string test2 = ApplicationData.Current.LocalFolder.Path + "\\Customer.sqlite";
        await connection1.ExecuteAsync("ATTACH DATABASE '" + test1 + "' AS db1;");
        await connection1.ExecuteAsync("ATTACH DATABASE '" + test2 + "' AS db2;");
        string query = "INSERT INTO db2.TableEmployee ("
              + "Name, Address) "
              + "SELECT Name, Address "
              + "FROM db1.TableEmployee";
        await connection1.ExecuteAsync(query);
    }
此代码段将数据库Employee.sqlite的TableEmployee表中的所有数据复制到数据库Customer.sqlite的TableEmployee表中