c# - EF Core context.SaveChanges() 在上一条语句之前执行
问题描述
我正在为我工作的公司开发一种内部工具,用于将数据从旧的 SQLite 数据库迁移到新的 SQL Server 数据库。在我完成所有实体转换并将它们添加到我的目标上下文之后,我想将它们提交到目标数据库实例并通过控制台更新用户正在进行提交操作。但是,每当我运行它时,直到上下文完成刷新更改后,字符串才会打印到控制台。
我唯一能想到的是,.NET Core 运行时出于某种原因动态地重新排序操作,这意味着直到提交成功或失败后才会调用 print 语句。这在使用该工具的 UX 方面是有问题的,因为不清楚是否实际发生了任何事情,因为该工具似乎会挂起一段时间。
任何想法这里发生了什么或我如何强制语句以所需的顺序执行?
private static void CommitChanges(InductosenseContext destinationContext)
{
Console.Write("Committing changes to destination database...");
destinationContext.SaveChanges();
Console.WriteLine(" DONE.");
}
解决方案
推荐阅读
- makefile - 具有多个语句的 Makefile 函数
- azure - 如何摆脱 Azure Powershell 警告“警告:AzureVM 此 cmdlet 输出的属性将在即将到来的......”
- oracle - 触发器不会释放锁
- javascript - 使用 Leaflet 和 GeoJSON 将同心圆添加到标记周围特定距离的地图
- android - 在新的兼容性库中找不到自动完成功能,并提供程序类型已经存在于新的 Places 库中
- mysql - 日期格式(类 Java)“10/28/1979 12:00 AM”转换为日期
- r - 使用 dplyr 将未来日期替换为 NA
- bash - 使用 SFTP 获取动态日期文件?
- php - 如何检查特定 ID 是否存在于另一个表中?
- jmeter - 在 jmeter 中设置整个请求 url