mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 04:18:16 +08:00
@ -93,6 +93,12 @@ namespace FreeSql
|
||||
if (_db.Options.EnableGlobalFilter == false) delete.DisableGlobalFilter();
|
||||
return delete;
|
||||
}
|
||||
protected virtual IDelete<object> OrmDeleteAsType(Type entityType)
|
||||
{
|
||||
var delete = _db.OrmOriginal.Delete<object>().AsType(entityType).WithTransaction(_uow?.GetOrBeginTransaction());
|
||||
if (_db.Options.EnableGlobalFilter == false) delete.DisableGlobalFilter();
|
||||
return delete;
|
||||
}
|
||||
|
||||
internal void EnqueueToDbContext(DbContext.EntityChangeType changeType, EntityState state) =>
|
||||
_db.EnqueuePreCommand(changeType, this, typeof(EntityState), _entityType, state);
|
||||
|
@ -265,10 +265,8 @@ namespace FreeSql
|
||||
|
||||
if (curList.Any() == false) //全部删除
|
||||
{
|
||||
var delall = _db.OrmOriginal.Delete<object>()
|
||||
.AsType(tref.RefMiddleEntityType)
|
||||
.WithTransaction(_uow?.GetOrBeginTransaction());
|
||||
foreach (var midWhere in midWheres) delall.Where(midWhere);
|
||||
var delall = OrmDeleteAsType(tref.RefMiddleEntityType);
|
||||
foreach (var midWhere in midWheres) delall.Where(midWhere);
|
||||
var sql = delall.ToSql();
|
||||
await delall.ExecuteAffrowsAsync(cancellationToken);
|
||||
_db._entityChangeReport.Add(new DbContext.EntityChangeReport.ChangeInfo { EntityType = _entityType, Object = sql, Type = DbContext.EntityChangeType.SqlRaw });
|
||||
|
@ -276,9 +276,7 @@ namespace FreeSql
|
||||
|
||||
if (curList.Any() == false) //全部删除
|
||||
{
|
||||
var delall = _db.OrmOriginal.Delete<object>()
|
||||
.AsType(tref.RefMiddleEntityType)
|
||||
.WithTransaction(_uow?.GetOrBeginTransaction());
|
||||
var delall = OrmDeleteAsType(tref.RefMiddleEntityType);
|
||||
foreach (var midWhere in midWheres) delall.Where(midWhere);
|
||||
var sql = delall.ToSql();
|
||||
delall.ExecuteAffrows();
|
||||
|
Reference in New Issue
Block a user