C# 如何在软删除中获取引用数据?

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

在获取父数据的同时,我还获取了代码中显示的子数据,为了消除这个问题,我使用了foreach循环,但是当db太大时,这不是一个好方法。请帮忙

 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);