TransactionScope在EF Core中的局限性(鏈接)


EF Core從2.1開始支持TransactionScope的使用,但是在EF Core中使用TransactionScope是有一些局限性的,原因是.NET Core是一個跨操作系統平台的框架,而TransactionScope的有一些特性只在Windows系統上支持,在Linux系統上不支持,例如:分布式事務處理協調器(distributed transaction coordinator)只存在於Windows系統上,所以在EF Core中(准確地說,是在.NET Core中)使用TransactionScope時,我們一定不能啟動分布式事務,否則不管你的代碼是在Windows系統下,還是在Linux系統下,都會拋出異常:

System.PlatformNotSupportedException: This platform does not support distributed transactions.

詳情查看:Entity Framework Core - Use TransactionScope with Caution!

 

補充:

微軟開發團隊,在下面的帖子中提到了,計划在.NET 5中會支持分布式事務,所以讓我們等待下一代.NET Core支持分布式事務,這樣TransactionScope也就能在.NET Core中使用分布式事務了:

Implement distributed/promoted transactions in System.Transactions.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM