|
|
1
1
是和否。你可以把它包装成一个事务-这是微不足道的。 https://docs.microsoft.com/en-us/ef/core/saving/transactions 展示如何。
或者,可以在DbConnection上使用DbTransaction。相同的链接。
听起来像是有人把数据库完全抽象到了那些漂亮的存储库反模式后面——而这(不是事务)现在又回来咬你了。很可能每个被删除的文件室都使用一个单独的存储库,而bum、事务则没有帮助。 重构时间。 |
|
|
2
0
最好的解决方案可能是创建一个新的单独的方法来删除house,该方法在一次调用中处理所有事情。 如果确实有一些问题阻止您完成DeleteHouse方法,您可以通过锁定来解决问题。我认为你的根本问题是一个线程的比赛条件。为删除房间代码添加一个锁以解决该问题。
这种模式的缺点是,在删除文件室的服务器端代码中会产生相当大的瓶颈。 https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/lock-statement |