mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 18:52:50 +08:00
parent
62496bf226
commit
4b15cfb96f
@ -9,7 +9,7 @@
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<Version>3.2.608</Version>
|
||||
<Version>3.2.609</Version>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
@ -360,7 +360,7 @@
|
||||
<param name="entity">实体对象</param>
|
||||
<param name="propertyName">属性名</param>
|
||||
</member>
|
||||
<member name="M:FreeSql.IBaseRepository`1.RemoveCascadeByDatabase(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
|
||||
<member name="M:FreeSql.IBaseRepository`1.DeleteCascadeByDatabase(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
|
||||
<summary>
|
||||
根据设置的 OneToOne/OneToMany/ManyToMany 导航属性,级联查询所有的数据库记录,删除并返回它们
|
||||
</summary>
|
||||
@ -559,14 +559,5 @@
|
||||
<param name="that"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
|
||||
<summary>
|
||||
批量注入 Repository,可以参考代码自行调整
|
||||
</summary>
|
||||
<param name="services"></param>
|
||||
<param name="globalDataFilter"></param>
|
||||
<param name="assemblies"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
|
@ -94,7 +94,7 @@ namespace FreeSql
|
||||
_dbset.RemoveRange(entitys);
|
||||
return _db.SaveChanges();
|
||||
}
|
||||
public List<object> RemoveCascadeByDatabase(Expression<Func<TEntity, bool>> predicate)
|
||||
public List<object> DeleteCascadeByDatabase(Expression<Func<TEntity, bool>> predicate)
|
||||
{
|
||||
var list = _dbset.RemoveCascadeByDatabase(predicate);
|
||||
var affrows = _db.SaveChanges();
|
||||
|
@ -32,7 +32,7 @@ namespace FreeSql
|
||||
_dbset.RemoveRange(entitys);
|
||||
return _db.SaveChangesAsync(cancellationToken);
|
||||
}
|
||||
async public virtual Task<List<object>> RemoveCascadeByDatabaseAsync(Expression<Func<TEntity, bool>> predicate, CancellationToken cancellationToken = default)
|
||||
async public virtual Task<List<object>> DeleteCascadeByDatabaseAsync(Expression<Func<TEntity, bool>> predicate, CancellationToken cancellationToken = default)
|
||||
{
|
||||
var list = await _dbset.RemoveCascadeByDatabaseAsync(predicate, cancellationToken);
|
||||
var affrows = await _db.SaveChangesAsync(cancellationToken);
|
||||
|
@ -90,7 +90,7 @@ namespace FreeSql
|
||||
/// </summary>
|
||||
/// <param name="predicate"></param>
|
||||
/// <returns></returns>
|
||||
List<object> RemoveCascadeByDatabase(Expression<Func<TEntity, bool>> predicate);
|
||||
List<object> DeleteCascadeByDatabase(Expression<Func<TEntity, bool>> predicate);
|
||||
|
||||
/// <summary>
|
||||
/// 开始编辑数据,然后调用方法 EndEdit 分析出添加、修改、删除 SQL 语句进行执行<para></para>
|
||||
@ -122,7 +122,7 @@ namespace FreeSql
|
||||
Task<int> DeleteAsync(TEntity entity, CancellationToken cancellationToken = default);
|
||||
Task<int> DeleteAsync(IEnumerable<TEntity> entitys, CancellationToken cancellationToken = default);
|
||||
Task<int> DeleteAsync(Expression<Func<TEntity, bool>> predicate, CancellationToken cancellationToken = default);
|
||||
Task<List<object>> RemoveCascadeByDatabaseAsync(Expression<Func<TEntity, bool>> predicate, CancellationToken cancellationToken = default);
|
||||
Task<List<object>> DeleteCascadeByDatabaseAsync(Expression<Func<TEntity, bool>> predicate, CancellationToken cancellationToken = default);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ namespace FreeSql.Tests
|
||||
fsql.Delete<DeleteCascadeUserExt>().Where("1=1").ExecuteAffrows();
|
||||
var user = new DeleteCascadeUser { Username = "admin01", Password = "pwd01", UserExt = new DeleteCascadeUserExt { Remark = "用户备注01" } };
|
||||
userRepo.Insert(user);
|
||||
var ret = userRepo.RemoveCascadeByDatabase(a => a.Id == user.Id);
|
||||
var ret = userRepo.DeleteCascadeByDatabase(a => a.Id == user.Id);
|
||||
Assert.Equal(2, ret.Count);
|
||||
Assert.IsType<DeleteCascadeUserExt>(ret[0]);
|
||||
Assert.Equal(user.UserExt.UserId, (ret[0] as DeleteCascadeUserExt).UserId);
|
||||
@ -64,7 +64,7 @@ namespace FreeSql.Tests
|
||||
fsql.Delete<DeleteCascadeUserExt>().Where("1=1").ExecuteAffrows();
|
||||
user = new DeleteCascadeUser { Username = "admin01", Password = "pwd01", UserExt = new DeleteCascadeUserExt { Remark = "用户备注01" } };
|
||||
userRepo.Insert(user);
|
||||
ret = userextRepo.RemoveCascadeByDatabase(a => a.UserId == user.UserExt.UserId);
|
||||
ret = userextRepo.DeleteCascadeByDatabase(a => a.UserId == user.UserExt.UserId);
|
||||
Assert.Equal(2, ret.Count);
|
||||
Assert.IsType<DeleteCascadeUserExt>(ret[1]);
|
||||
Assert.Equal(user.UserExt.UserId, (ret[1] as DeleteCascadeUserExt).UserId);
|
||||
@ -112,7 +112,7 @@ namespace FreeSql.Tests
|
||||
Assert.Equal(group.Id, group.Users[0].GroupId);
|
||||
Assert.Equal(group.Id, group.Users[1].GroupId);
|
||||
Assert.Equal(group.Id, group.Users[2].GroupId);
|
||||
ret = groupRepo.RemoveCascadeByDatabase(a => a.Id == group.Id);
|
||||
ret = groupRepo.DeleteCascadeByDatabase(a => a.Id == group.Id);
|
||||
Assert.Equal(7, ret.Count);
|
||||
Assert.IsType<DeleteCascadeUserExt>(ret[0]);
|
||||
Assert.Equal(group.Users[0].UserExt.UserId, (ret[0] as DeleteCascadeUserExt).UserId);
|
||||
@ -211,7 +211,7 @@ namespace FreeSql.Tests
|
||||
Assert.Equal(group.Id, group.Users[0].GroupId);
|
||||
Assert.Equal(group.Id, group.Users[1].GroupId);
|
||||
Assert.Equal(group.Id, group.Users[2].GroupId);
|
||||
ret = groupRepo.RemoveCascadeByDatabase(a => a.Id == group.Id);
|
||||
ret = groupRepo.DeleteCascadeByDatabase(a => a.Id == group.Id);
|
||||
Assert.Equal(18, ret.Count);
|
||||
|
||||
Assert.IsType<DeleteCascadeUserExt>(ret[0]);
|
||||
|
Loading…
x
Reference in New Issue
Block a user