我正在开发一个应用程序,它从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();
}
}
我也将两个事务放在一个事务中,但没有成功。
有人有更好的解决办法吗?
暂无答案!
目前还没有任何答案,快来回答吧!