v3.2.806-preview20231214

This commit is contained in:
2881099
2023-12-12 21:05:21 +08:00
parent 1a0507d621
commit 09c872562e
35 changed files with 180 additions and 50 deletions

View File

@ -209,9 +209,10 @@ namespace FreeSql
}
var affrows = 0;
for (var a = tracking.DeleteLog.Count - 1; a >= 0; a--)
{
affrows += await Orm.Delete<object>().AsType(tracking.DeleteLog[a].Item1).AsTable(_asTableRule)
.WhereDynamic(tracking.DeleteLog[a].Item2).ExecuteAffrowsAsync(cancellationToken);
{
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);
if (deletedOutput != null) deletedOutput.AddRange(tracking.DeleteLog[a].Item2);
UnitOfWork?.EntityChangeReport?.Report.AddRange(tracking.DeleteLog[a].Item2.Select(x =>
new DbContext.EntityChangeReport.ChangeInfo
@ -249,9 +250,10 @@ namespace FreeSql
}
for (var a = tracking.DeleteLog.Count - 1; a >= 0; a--)
{
affrows += await Orm.Delete<object>().AsType(tracking.DeleteLog[a].Item1).AsTable(_asTableRule)
.WhereDynamic(tracking.DeleteLog[a].Item2).ExecuteAffrowsAsync(cancellationToken);
{
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);
UnitOfWork?.EntityChangeReport?.Report.AddRange(tracking.DeleteLog[a].Item2.Select(x =>
new DbContext.EntityChangeReport.ChangeInfo
{
@ -274,8 +276,10 @@ namespace FreeSql
{
foreach (var dl2 in dl.Value)
{
affrows += await Orm.Update<object>().AsType(dl.Key).AsTable(_asTableRule)
.SetSource(dl2.Value.Select(a => a.AfterObject).ToArray())
var update = Orm.Update<object>().AsType(dl.Key);
if (_asTableRule != null) update.AsTable(old => _asTableRule(dl.Key, old));
affrows += await update
.SetSource(dl2.Value.Select(a => a.AfterObject).ToArray())
.UpdateColumns(dl2.Value.First().UpdateColumns.ToArray())
.ExecuteAffrowsAsync(cancellationToken);
UnitOfWork?.EntityChangeReport?.Report.AddRange(dl2.Value.Select(x =>