- 修复 未发布功能WhereObject/WhereItems 单条参数化;- 恢复 Repository.DataFilter Enable/Disable 功能;

This commit is contained in:
2881099
2024-08-19 07:41:08 +08:00
parent 1bc77db2b5
commit d3904ffdd3
10 changed files with 258 additions and 49 deletions

View File

@ -56,6 +56,7 @@ namespace FreeSql
_repository.DbContextOptions.EnableCascadeSave = false;
}
}
public RepositoryDataFilter DataFilter => _repository.DataFilter;
public void AsType(Type entityType) => _repository.AsType(entityType);
Func<Type, string, string> _asTableRule;
public void AsTable(Func<string, string> rule)
@ -130,6 +131,7 @@ namespace FreeSql
repo.UnitOfWork = UnitOfWork;
repo.DbContextOptions = DbContextOptions;
repo.DbContextOptions.EnableCascadeSave = false;
(repo as BaseRepository<object>).DataFilter = DataFilter;
repo.AsTable(_asTableRule);
return repo;
}

View File

@ -210,6 +210,7 @@ namespace FreeSql
var affrows = 0;
for (var a = tracking.DeleteLog.Count - 1; a >= 0; a--)
{
if (tracking.DeleteLog[a].Item2.Any() == false) continue;
var delete = Orm.Delete<object>().AsType(tracking.DeleteLog[a].Item1);
if (_asTableRule != null) delete.AsTable(old => _asTableRule(tracking.DeleteLog[a].Item1, old));
affrows += await delete.WhereDynamic(tracking.DeleteLog[a].Item2).ExecuteAffrowsAsync(cancellationToken);
@ -240,6 +241,7 @@ namespace FreeSql
for (var a = tracking.DeleteLog.Count - 1; a >= 0; a--)
{
if (tracking.DeleteLog[a].Item2.Any() == false) continue;
var delete = Orm.Delete<object>().AsType(tracking.DeleteLog[a].Item1);
if (_asTableRule != null) delete.AsTable(old => _asTableRule(tracking.DeleteLog[a].Item1, old));
affrows += await delete.WhereDynamic(tracking.DeleteLog[a].Item2).ExecuteAffrowsAsync(cancellationToken);

View File

@ -262,6 +262,7 @@ namespace FreeSql
var affrows = 0;
for (var a = tracking.DeleteLog.Count - 1; a >= 0; a--)
{
if (tracking.DeleteLog[a].Item2.Any() == false) continue;
var delete = Orm.Delete<object>().AsType(tracking.DeleteLog[a].Item1);
if (_asTableRule != null) delete.AsTable(old => _asTableRule(tracking.DeleteLog[a].Item1, old));
affrows += delete.WhereDynamic(tracking.DeleteLog[a].Item2).ExecuteAffrows();
@ -290,7 +291,8 @@ namespace FreeSql
}
for (var a = tracking.DeleteLog.Count - 1; a >= 0; a--)
{
{
if (tracking.DeleteLog[a].Item2.Any() == false) continue;
var delete = Orm.Delete<object>().AsType(tracking.DeleteLog[a].Item1);
if (_asTableRule != null) delete.AsTable(old => _asTableRule(tracking.DeleteLog[a].Item1, old));
affrows += delete.WhereDynamic(tracking.DeleteLog[a].Item2).ExecuteAffrows();