• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
PowerCoder
博客园    首页    新随笔    联系   管理    订阅  订阅

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.

 

posted @ 2020-03-12 19:46  PowerCoder  阅读(1450)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3