C# 如何在软删除中获取引用数据?
在获取父数据的同时,我还获取了代码中显示的子数据,为了消除这个问题,我使用了foreach循环,但是当db太大时,这不是一个好方法。请帮忙C# 如何在软删除中获取引用数据?,c#,.net-core,C#,.net Core,在获取父数据的同时,我还获取了代码中显示的子数据,为了消除这个问题,我使用了foreach循环,但是当db太大时,这不是一个好方法。请帮忙 public async Task<DataSourceResult> GetAll(DataSourceRequest request) { var data = _unitOfWork.SchoolsRepository.GetAll().Where(x => x.IsDeleted == fa
public async Task<DataSourceResult> GetAll(DataSourceRequest request)
{
var data = _unitOfWork.SchoolsRepository.GetAll().Where(x => x.IsDeleted == false)
.Include(x => x.SchoolBranches)
.ThenInclude(y => y.Classes)
.ToDataSourceResult(request);
List<Schools> result = (List<Schools>)data.Data;
if (result != null)
{
foreach (var item in result)
{
var schoolBranch = item.SchoolBranches.Where(x => !x.IsDeleted).ToList();
foreach (var _item in schoolBranch)
{
var _class = _item.Classes.Where(x=>!x.IsDeleted).ToList();
_item.Classes = _class;
}
item.SchoolBranches = schoolBranch;
}
data.Data = result;
return data;
}
else
{
throw new FriendlyExceptionHandler("No data found!", HttpStatusCode.BadRequest);
}
}
public异步任务GetAll(DataSourceRequest请求)
{
var data=\u unitOfWork.schoolsrespository.GetAll()。其中(x=>x.IsDeleted==false)
.包括(x=>x.学校分支)
.然后包括(y=>y.Classes)
.ToDataSourceResult(请求);
列表结果=(列表)data.data;
如果(结果!=null)
{
foreach(结果中的var项目)
{
var schoolBranch=item.schoolBranchs.Where(x=>!x.IsDeleted.ToList();
foreach(学校分支中的var_项目)
{
var\u class=\u item.Classes.Where(x=>!x.IsDeleted.ToList();
_item.Classes=\u class;
}
item.SchoolBranchs=学校分支;
}
数据。数据=结果;
返回数据;
}
其他的
{
抛出新的FriendlyExceptionHandler(“未找到数据!”,HttpStatusCode.BadRequest);
}
}
我希望他们的孩子的学校数据(家长)不会在数据库中被软删除。你可以试试这个吗
欢迎来到StackOverflow!对于多行代码块,您可以使用严重的重音字符
code
或三重“`````更好地格式化问题中的程序代码IncludeFilter“ThenClude”之后不显示
var data = _unitOfWork.SchoolsRepository.GetAll().Where(x => x.IsDeleted == false)
.IncludeFilter(x => x.SchoolBranches.Where(i => !i.IsDeleted))
.ThenInclude(y => y.Classes)
.ToDataSourceResult(request);