From cdcdaa80b011ea8c5cc872b83690f303afc01787 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Thu, 23 Oct 2025 21:56:49 +0800 Subject: [PATCH] =?UTF-8?q?=20-=20=E8=A1=A5=E5=85=85=20IUnitOfWorkManager?= =?UTF-8?q?=EF=BC=9B#2127?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Directory.Build.props | 2 +- Examples/base_entity/Program.cs | 2 +- .../FreeSql.Extensions.AggregateRoot.csproj | 2 +- .../FreeSql.Extensions.BaseEntity.csproj | 2 +- .../FreeSql.Extensions.EFModel.csproj | 2 +- .../FreeSql.Extensions.JsonMap.csproj | 2 +- .../FreeSql.Extensions.LazyLoading.csproj | 2 +- .../FreeSql.Extensions.Linq.csproj | 2 +- .../FreeSql.Extensions.ZeroEntity.csproj | 2 +- .../FreeSql.Generator.csproj | 2 +- FreeSql.All/FreeSql.All.csproj | 2 +- FreeSql.DbContext/FreeSql.DbContext.csproj | 2 +- FreeSql.DbContext/FreeSql.DbContext.xml | 9 - .../UnitOfWork/UnitOfWorkManager.cs | 26 +- FreeSql.Repository/FreeSql.Repository.csproj | 2 +- FreeSql/FreeSql.csproj | 2 +- FreeSql/FreeSql.xml | 313 ------------------ .../FreeSql.Provider.ClickHouse.csproj | 2 +- .../FreeSql.Provider.Custom.csproj | 2 +- .../FreeSql.Provider.Dameng.csproj | 2 +- .../FreeSql.Provider.Duckdb.csproj | 2 +- .../FreeSql.Provider.Firebird.csproj | 2 +- .../FreeSql.Provider.GBase.csproj | 2 +- .../FreeSql.Provider.KingbaseES.csproj | 2 +- .../FreeSql.Provider.MsAccess.csproj | 2 +- .../FreeSql.Provider.MySql.csproj | 2 +- .../FreeSql.Provider.MySqlConnector.csproj | 2 +- .../FreeSql.Provider.Odbc.csproj | 2 +- .../FreeSql.Provider.Oracle.csproj | 2 +- .../FreeSql.Provider.OracleOledb.csproj | 2 +- .../FreeSql.Provider.PostgreSQL.csproj | 2 +- .../FreeSql.Provider.QuestDb.csproj | 2 +- .../FreeSql.Provider.ShenTong.csproj | 2 +- .../FreeSql.Provider.SqlServer.csproj | 2 +- ...FreeSql.Provider.SqlServerForSystem.csproj | 2 +- .../FreeSql.Provider.Sqlite.csproj | 2 +- .../FreeSql.Provider.SqliteCore.csproj | 2 +- .../FreeSql.Provider.TDengine.csproj | 2 +- .../FreeSql.Provider.Xugu.csproj | 2 +- 39 files changed, 61 insertions(+), 359 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 518a17c41..9a8d3f199 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -12,7 +12,7 @@ diff --git a/Examples/base_entity/Program.cs b/Examples/base_entity/Program.cs index ee39eab1c..7f6649711 100644 --- a/Examples/base_entity/Program.cs +++ b/Examples/base_entity/Program.cs @@ -621,7 +621,7 @@ namespace base_entity BaseEntity.Initialization(fsql, () => _asyncUow.Value); #endregion - var skdkdk1 = fsql.Select().LimitBy2(a => a.Sort, 1).ToSql(); + var skdkdk1 = fsql.Select().LimitBy(a => a.Sort, 1).ToSql(); fsql.Insert(new User1 { Nickname = "nickname11", Username = "username11", Description = "desc11" }).ExecuteAffrows(); diff --git a/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj b/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj index 54bde51ba..e2279f0f3 100644 --- a/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj +++ b/Extensions/FreeSql.Extensions.AggregateRoot/FreeSql.Extensions.AggregateRoot.csproj @@ -18,7 +18,7 @@ true key.snk false - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj index 26f9dd2b1..d6d995832 100644 --- a/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj +++ b/Extensions/FreeSql.Extensions.BaseEntity/FreeSql.Extensions.BaseEntity.csproj @@ -19,7 +19,7 @@ key.snk false latest - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/Extensions/FreeSql.Extensions.EFModel/FreeSql.Extensions.EFModel.csproj b/Extensions/FreeSql.Extensions.EFModel/FreeSql.Extensions.EFModel.csproj index 76ff4324a..07da7e160 100644 --- a/Extensions/FreeSql.Extensions.EFModel/FreeSql.Extensions.EFModel.csproj +++ b/Extensions/FreeSql.Extensions.EFModel/FreeSql.Extensions.EFModel.csproj @@ -18,7 +18,7 @@ true key.snk false - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj index db2203c6b..5f6d41fec 100644 --- a/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj +++ b/Extensions/FreeSql.Extensions.JsonMap/FreeSql.Extensions.JsonMap.csproj @@ -18,7 +18,7 @@ true key.snk false - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj index 437a96f6d..0f6c0f890 100644 --- a/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj +++ b/Extensions/FreeSql.Extensions.LazyLoading/FreeSql.Extensions.LazyLoading.csproj @@ -15,7 +15,7 @@ $(AssemblyName) true true - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj b/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj index 5d11d8aab..b5784f2a7 100644 --- a/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj +++ b/Extensions/FreeSql.Extensions.Linq/FreeSql.Extensions.Linq.csproj @@ -18,7 +18,7 @@ true key.snk false - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/Extensions/FreeSql.Extensions.ZeroEntity/FreeSql.Extensions.ZeroEntity.csproj b/Extensions/FreeSql.Extensions.ZeroEntity/FreeSql.Extensions.ZeroEntity.csproj index c21ce5a46..502986889 100644 --- a/Extensions/FreeSql.Extensions.ZeroEntity/FreeSql.Extensions.ZeroEntity.csproj +++ b/Extensions/FreeSql.Extensions.ZeroEntity/FreeSql.Extensions.ZeroEntity.csproj @@ -18,7 +18,7 @@ true key.snk false - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj index 57d00820d..b47bc5f17 100644 --- a/Extensions/FreeSql.Generator/FreeSql.Generator.csproj +++ b/Extensions/FreeSql.Generator/FreeSql.Generator.csproj @@ -13,7 +13,7 @@ https://github.com/2881099/FreeSql https://github.com/2881099/FreeSql FreeSql DbFirst 实体生成器 - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/FreeSql.All/FreeSql.All.csproj b/FreeSql.All/FreeSql.All.csproj index be33efdb5..d357cc867 100644 --- a/FreeSql.All/FreeSql.All.csproj +++ b/FreeSql.All/FreeSql.All.csproj @@ -17,7 +17,7 @@ true key.snk false - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/FreeSql.DbContext/FreeSql.DbContext.csproj b/FreeSql.DbContext/FreeSql.DbContext.csproj index 7dd1c7035..cb6b03f96 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.csproj +++ b/FreeSql.DbContext/FreeSql.DbContext.csproj @@ -17,7 +17,7 @@ true key.snk false - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 9721afddf..8e4fe1bc3 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -718,15 +718,6 @@ - - - 根据Assembly扫描所有继承IEntityTypeConfiguration<T>的配置类 - - - - - - 创建普通数据上下文档对象 diff --git a/FreeSql.DbContext/UnitOfWork/UnitOfWorkManager.cs b/FreeSql.DbContext/UnitOfWork/UnitOfWorkManager.cs index 914f75161..dea7c54ee 100644 --- a/FreeSql.DbContext/UnitOfWork/UnitOfWorkManager.cs +++ b/FreeSql.DbContext/UnitOfWork/UnitOfWorkManager.cs @@ -11,7 +11,31 @@ namespace FreeSql /// /// 工作单元管理器 /// - public class UnitOfWorkManager : IDisposable + public interface IUnitOfWorkManager : IDisposable + { + IFreeSql Orm { get; } + /// + /// 当前的工作单元 + /// + IUnitOfWork Current { get; } + /// + /// 将仓储的事务交给我管理 + /// + /// + void Binding(IBaseRepository repository); + /// + /// 创建工作单元 + /// + /// 事务传播方式 + /// 事务隔离级别 + /// + IUnitOfWork Begin(Propagation propagation = Propagation.Required, IsolationLevel? isolationLevel = null); + } + + /// + /// 工作单元管理器 + /// + public class UnitOfWorkManager : IUnitOfWorkManager { internal DbContextScopedFreeSql _ormScoped; internal IFreeSql OrmOriginal => _ormScoped?._originalFsql; diff --git a/FreeSql.Repository/FreeSql.Repository.csproj b/FreeSql.Repository/FreeSql.Repository.csproj index 70da718c9..8b94fabe0 100644 --- a/FreeSql.Repository/FreeSql.Repository.csproj +++ b/FreeSql.Repository/FreeSql.Repository.csproj @@ -17,7 +17,7 @@ true key.snk false - 3.5.215-preview20250917 + 3.5.215 readme.md diff --git a/FreeSql/FreeSql.csproj b/FreeSql/FreeSql.csproj index a1d93db53..05656e7a7 100644 --- a/FreeSql/FreeSql.csproj +++ b/FreeSql/FreeSql.csproj @@ -17,7 +17,7 @@ true key.snk false - 3.5.215-preview20250917 + 3.5.215 readme.md