首页 > 其他分享 >netcore net 递归查询示例

netcore net 递归查询示例

时间:2023-11-14 14:46:33浏览次数:42  
标签:return Parent netcore 示例 iid IID allProjectList Pjt net

/// <summary>
/// 查询项目列表
/// </summary>
/// <param name="userModel"></param>
/// <returns></returns>
public async Task<List<GetProjectListOutput>> GetProjectList(GetProjectListInput model,TokenModel userModel)
{
var allList = await UserDB.Queryable<File_Project>().Where(x => x.IsDelete == 0)
.WhereIF(!string.IsNullOrWhiteSpace(model.SearchValue), x => x.ProjectName.Contains(model.SearchValue))
.Select(x => new GetProjectListOutput
{
IID = x.IID,
ProjectName = x.ProjectName,
Pjt_No= x.Pjt_No,
Pjt_Orderno = x.Pjt_Orderno,
DrawingNo = x.DrawingNo,
ProductName = x.ProductName,
Parent_iid=x.Parent_iid,
}).ToListAsync();
var tree = BuildProjectTree(allList, 0);
return tree;
}

/// <summary>
/// 树结构查询
/// </summary>
/// <param name="allProjectList"></param>
/// <param name="parentID"></param>
/// <returns></returns>
public static List<GetProjectListOutput> BuildProjectTree(List<GetProjectListOutput> allProjectList, long parentID)
{
return allProjectList
.Where(d => d.Parent_iid == parentID)
.Select(d =>
{
d.children = BuildProjectTree(allProjectList, d.IID);
return d;
})
.ToList();
}

标签:return,Parent,netcore,示例,iid,IID,allProjectList,Pjt,net
From: https://www.cnblogs.com/eileenfdx/p/17831522.html

相关文章

  • Kubernetes:kube-apiserver 之准入
    kubernetes:kube-apiserver系列文章:Kubernetes:kube-apiserver之scheme(一)Kubernetes:kube-apiserver之scheme(二)Kubernetes:kube-apiserver之启动流程(一)Kubernetes:kube-apiserver之启动流程(二)Kubernetes:kube-apiserver和etcd的交互Kubernetes:kube-api......
  • 记一次 .NET 某券商论坛系统 卡死分析
    一:背景1.讲故事前几个月有位朋友找到我,说他们的的web程序没有响应了,而且监控发现线程数特别高,内存也特别大,让我帮忙看一下怎么回事,现在回过头来几经波折,回味价值太浓了。二:程序到底经历了什么1.在线程上找原因这个程序内存高,线程高,无响应,尼玛是一个复合态问题,那怎么入手呢?......
  • .NET Conf 2023 议程(简体中文)
    .NETConf2023议程(简体中文)最大的在线.NET活动11月14日至16日。重要:本文内容引用翻译自 www.paioffice.com第一天Tuesday,November1408:00-09:00PST欢迎使用.NET8DamianEdwards,SafiaAbdalla,DavidFowler,GauravSeth,DanielRoth,Glenn......
  • Golang内存泄漏的代码示例
    以下是几个可能导致内存泄漏的Go代码示例:资源未关闭:funcreadFile(){ file,err:=os.Open("filename.txt") iferr!=nil{ //错误处理 return } //使用file进行读取操作 //...}在上述代码中,readFile函数打开了一个文件,但没有在使用完后调用file.Close()来关闭文......
  • Golang select语句代码示例
    在Go语言中,select语句用于多路选择(multiplexing),允许在多个通信操作中选择可用的操作进行执行。select语句的语法如下:select{case<-channel1://当channel1有数据可读时执行的代码casedata:=<-channel2://当channel2有数据可读时执行的代码,同时将读取的数据存储在......
  • Net 高级调试之八:代码审查及杂项命令
    一、简介今天是《Net高级调试》的第八篇文章。这篇文章设计的内容挺多的,比如:如何查看方法的汇编代码,如何获取方法的描述符,对象同步块的转储,对象方法表的转储,托管堆和垃圾回收器信息的转储,CLR的版本,GC模式,等等,内容挺多的。内容虽然挺多,但是这些都是高级调试的基础。虽然......
  • 通过PowerShellPlus示例脚本学习PowerShell-读取VMware主机信息
    ##=====================================================================##Title:GetVI-HostList##Description:RetrieveVMwareHosts##Author:Idera##Date:9/11/2008##Input:-VIserver:VirtualInfrastructureserver##......
  • 微服务系列-Spring Boot使用Open Feign 微服务通信示例
    公众号「架构成长指南」,专注于生产实践、云原生、分布式系统、大数据技术分享。前言在前几个教程中我们已经看到:使用RestTemplate的SpringBoot微服务通信示例使用WebClient的SpringBoot微服务通信示例在本教程中,我们将学习如何使用SpringCloudOpenFeign库在......
  • 在`tomlkit`库中,`parse`函数用于将TOML格式的字符串解析为一个`Document`对象¹。以下
    #parse与节点(.)importtomlkit#TOML格式的字符串toml_str="""[tool.poetry]name="my-package"version="0.1.0"description="Mypackagedescription"authors=["Me<[email protected]>"]"&qu......
  • VCR库代码示例
    首先,我们需要在代码中添加对VCR库的引用:require'vcr'require'rest-client'然后,我们需要创建一个VCR录制器,以便我们可以记录实际的HTTP请求和响应:VCR.use_cassette('download_video',record::new_episodes)do#下载代码将在这里end接下来,我们需要设置:proxy={然后,我们可......