使用 EntityFramework 进行多个同时 SaveChangesAsync()

问题描述 投票:0回答:1

我有一个问题,如果我(使用实体框架)同时多次调用 SaveChangesAsync() 会发生什么?当多个线程同时尝试在数据库中实际写入数据时会发生什么情况?如何处理?我正在做一个项目,我必须定期获取和保存,我担心在某些情况下处理每个数据包所需的时间可能比调用之间的时间间隔更大。我是实体框架的新手,我发现它很有趣,但我仍然对幕后的操作心存疑虑。任何帮助都感激不尽。

c# entity-framework-6
1个回答
1
投票

如果“同时”意味着多个线程,那么你不能这样做,因为 EF 不是线程安全的。

以下是一些可能对您有帮助的示例。

https://github.com/mjrousos/MultiThreadedEFCoreSample

参考这里:

https://learn.microsoft.com/fr-fr/ef/core/miscellaneous/async

© www.soinside.com 2019 - 2024. All rights reserved.