- 增加 DbContextOptions.EnableGlobalFilter 设置是否在 DbContext/Repository 中启用全局过滤器;

This commit is contained in:
28810
2020-04-26 00:34:50 +08:00
parent b41680adfa
commit 635244786a
6 changed files with 52 additions and 15 deletions

View File

@ -35,15 +35,21 @@ namespace FreeSql
public ISelect<T1> Select<T1>() where T1 : class
{
_resolveDbContext?.Invoke()?.FlushCommand();
return _originalFsql.Select<T1>().WithTransaction(_resolveUnitOfWork()?.GetOrBeginTransaction(false));
var db = _resolveDbContext?.Invoke();
db?.FlushCommand();
var select = _originalFsql.Select<T1>().WithTransaction(_resolveUnitOfWork()?.GetOrBeginTransaction(false));
if (db?.Options.EnableGlobalFilter == false) select.DisableGlobalFilter();
return select;
}
public ISelect<T1> Select<T1>(object dywhere) where T1 : class => Select<T1>().WhereDynamic(dywhere);
public IDelete<T1> Delete<T1>() where T1 : class
{
_resolveDbContext?.Invoke()?.FlushCommand();
return _originalFsql.Delete<T1>().WithTransaction(_resolveUnitOfWork()?.GetOrBeginTransaction());
var db = _resolveDbContext?.Invoke();
db?.FlushCommand();
var delete = _originalFsql.Delete<T1>().WithTransaction(_resolveUnitOfWork()?.GetOrBeginTransaction());
if (db?.Options.EnableGlobalFilter == false) delete.DisableGlobalFilter();
return delete;
}
public IDelete<T1> Delete<T1>(object dywhere) where T1 : class => Delete<T1>().WhereDynamic(dywhere);
@ -53,6 +59,7 @@ namespace FreeSql
db?.FlushCommand();
var update = _originalFsql.Update<T1>().WithTransaction(_resolveUnitOfWork()?.GetOrBeginTransaction());
if (db?.Options.NoneParameter != null) update.NoneParameter(db.Options.NoneParameter.Value);
if (db?.Options.EnableGlobalFilter == false) update.DisableGlobalFilter();
return update;
}
public IUpdate<T1> Update<T1>(object dywhere) where T1 : class => Update<T1>().WhereDynamic(dywhere);