C#ADO.NET在外键之前编写主键

时间:2018-09-07 12:27:53

标签: c# mysql sql database ado.net

我正在使用从REST服务器获取用户数据并将其通过使用C#和ADO.NET(约100000行)写入本地数据库的应用程序。该数据库是MYSQL。 为此,我创建了两个表。 表A和 表B

表B具有对表A的外键引用。 同步数据时,我收到一个外键错误,因为当应用程序尝试获取外键时,数据未完全写入表A。

我不使用DataAdapter或Dataset只是普通的ADO.NET。 ->应该尽可能快速和简单。

当我在写入表A之后和写入表B前稍作延迟时,它可以工作,但这只是一个临时解决方案,并不是很可靠。

using (var connection = new MySqlConnection(config.GetConnectionString("DefaultConnection")))
{
    connection.Open();

    using (var cmd = new MySqlCommand(userInsert, connection))
    {        
        cmd.ExecuteNonQuery();
    }

}
Thread.Sleep(600);
using (var connection = new MySqlConnection(config.GetConnectionString("DefaultConnection")))
{
    connection.Open();

    using (var cmd = new MySqlCommand(cardInsert, connection))
    {        
        cmd.ExecuteNonQuery();
    }    
}

我也将两项交易合而为一,但是没有成功。

有人有更好的解决方案吗?

0 个答案:

没有答案