c#ado.net在外键之前写主键

dauxcl2d  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(274)

我正在开发一个应用程序,它从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();
    }    
}

我也将两个事务放在一个事务中,但没有成功。
有人有更好的解决办法吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题