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();
|
||||
|
@ -17,7 +17,7 @@
|
||||
<SignAssembly>true</SignAssembly>
|
||||
<AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
|
||||
<DelaySign>false</DelaySign>
|
||||
<Version>3.2.806-preview20231214</Version>
|
||||
<Version>3.2.806</Version>
|
||||
<PackageReadmeFile>readme.md</PackageReadmeFile>
|
||||
</PropertyGroup>
|
||||
|
||||
|
@ -64,7 +64,15 @@ namespace FreeSql
|
||||
return delete;
|
||||
}
|
||||
internal IDelete<TEntity> OrmDeleteInternal(object dywhere) => OrmDelete(dywhere);
|
||||
protected override IInsert<TEntity> OrmInsert(TEntity entity) => OrmInsert(new[] { entity });
|
||||
|
||||
protected override IDelete<object> OrmDeleteAsType(Type entityType)
|
||||
{
|
||||
var delete = base.OrmDeleteAsType(entityType);
|
||||
if (_repo._asTablePriv != null) delete.AsTable(old => _repo._asTablePriv(_entityType, old));
|
||||
return delete;
|
||||
}
|
||||
|
||||
protected override IInsert<TEntity> OrmInsert(TEntity entity) => OrmInsert(new[] { entity });
|
||||
protected override IInsert<TEntity> OrmInsert(IEnumerable<TEntity> entitys)
|
||||
{
|
||||
var insert = base.OrmInsert(entitys);
|
||||
|
Reference in New Issue
Block a user