.net core 2预览2交易范围

时间:2017-07-01 17:39:37

标签: sql-server asp.net-core .net-core dapper

我的应用程序使用SQL Server与dapper和ASP.NET核心2预览2.我正在使用具有单个数据库的存储库模式。我为每个实体编写了一个存储库。在业务层中,我将在事务范围内的单独连接对象的帮助下注入每个存储库。这种模式是分布式事务吗?或者SQL Server将其视为本地事务。因为.NET核心不支持分布式事务?或者我可以使用.NET框架代替吗?

1 个答案:

答案 0 :(得分:2)

这将是一个分布式事务,即使.NET Core允许它,它也是一种不好的做法。

而是为两个存储库注入单个SqlConnection,并在SqlConnection上管理事务。

如果您没有TransactionScope或EF,您可能必须在SqlConnection上明确使用TSQL BEGIN TRANSACTION / COMMIT,否则SqlCommand必须明确登记(您不会这样做)想做)。