mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 18:52:50 +08:00
- 修复 UnitOfWorkManager + Repository.SaveMany 事务切换问题;
This commit is contained in:
parent
98a588ada9
commit
9073ed71a3
@ -29,7 +29,7 @@ namespace FreeSql
|
|||||||
public abstract partial class DbSet<TEntity> : IDbSet where TEntity : class
|
public abstract partial class DbSet<TEntity> : IDbSet where TEntity : class
|
||||||
{
|
{
|
||||||
internal DbContext _db { get; set; }
|
internal DbContext _db { get; set; }
|
||||||
internal IUnitOfWork _uow { get; set; }
|
internal virtual IUnitOfWork _uow { get; set; }
|
||||||
|
|
||||||
protected virtual ISelect<TEntity> OrmSelect(object dywhere)
|
protected virtual ISelect<TEntity> OrmSelect(object dywhere)
|
||||||
{
|
{
|
||||||
@ -163,7 +163,7 @@ namespace FreeSql
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
Dictionary<Type, DbSet<object>> _dicDbSetObjects = new Dictionary<Type, DbSet<object>>();
|
internal Dictionary<Type, DbSet<object>> _dicDbSetObjects = new Dictionary<Type, DbSet<object>>();
|
||||||
DbSet<object> GetDbSetObject(Type et)
|
DbSet<object> GetDbSetObject(Type et)
|
||||||
{
|
{
|
||||||
if (_dicDbSetObjects.TryGetValue(et, out var tryds)) return tryds;
|
if (_dicDbSetObjects.TryGetValue(et, out var tryds)) return tryds;
|
||||||
|
@ -802,3 +802,14 @@
|
|||||||
</member>
|
</member>
|
||||||
</members>
|
</members>
|
||||||
</doc>
|
</doc>
|
||||||
|
Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
|
||||||
|
<summary>
|
||||||
|
批量注入 Repository,可以参考代码自行调整
|
||||||
|
</summary>
|
||||||
|
<param name="services"></param>
|
||||||
|
<param name="globalDataFilter"></param>
|
||||||
|
<param name="assemblies"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
|
@ -16,6 +16,18 @@ namespace FreeSql
|
|||||||
_repo = repo;
|
_repo = repo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IUnitOfWork _uowPriv;
|
||||||
|
internal override IUnitOfWork _uow
|
||||||
|
{
|
||||||
|
get => _uowPriv;
|
||||||
|
set
|
||||||
|
{
|
||||||
|
_uowPriv = value;
|
||||||
|
foreach (var dbset in _dicDbSetObjects.Values) //配合 UnitOfWorkManager
|
||||||
|
dbset._uow = _uowPriv;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected override ISelect<TEntity> OrmSelect(object dywhere)
|
protected override ISelect<TEntity> OrmSelect(object dywhere)
|
||||||
{
|
{
|
||||||
var select = base.OrmSelect(dywhere).AsTable(_repo.AsTableSelectValueInternal);
|
var select = base.OrmSelect(dywhere).AsTable(_repo.AsTableSelectValueInternal);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user