2 u014424282 u014424282 于 2017.08.27 16:14 提问

如何把下面这段带递归公用表达式的SQL 转Linq To 10C

with subqry(DepartmentId,FullName,ParentId) as (
select DepartmentId,FullName,ParentId from Base_Department where DepartmentId in (
SELECT
[DepartmentId]
FROM [dbo].[Base_ManagementDep] where DepartmentId = '8c9ddf44-f27c-411c-9a78-2718e8f4fa31'
union
select DepartmentId from Base_User where DepartmentId='8c9ddf44-f27c-411c-9a78-2718e8f4fa31'
)
union all
select Base_Department.DepartmentId,Base_Department.FullName,Base_Department.ParentId from Base_Department,subqry
where Base_Department.ParentId = subqry.DepartmentId
)
select DepartmentId from subqry group by DepartmentId

1个回答

caozhy
caozhy   Ds   Rxr 2017.08.27 23:35

递归在linq里比较复杂,需要用自定义函数。http://www.cnblogs.com/lyj/archive/2008/03/19/1112356.html

u014424282
u014424282 大神你好:可以加你qq吗
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用 LINQPad 将linq转换为 lambda表达式 或者 SQL语句
 一、LINQPad有多用途分析功能,即显示结果的多种选择   1、默认结果视图 由语句返回的对象和文本的简单图形   2、Lambda视图 LINQ表达式转换为可用的Lambda表达式   3、SQL视图 LINQ表达式转换为可用的SQL   4、IL视图 针对代码生成的微软中间语言   二、LINQPad 执行linq后的界面如图
一句话,将Linq语句转换为Sql语句
    public IEnumerable ReportView_List(VMB_ReportConditions requiredModel)         {                        IEnumerable resultModel = new List();          IQueryable merchantList;            
使用公用表表达式的递归查询(CTE)
简述: 公用表表达式 (CTE) 具有一个重要的优点,那就是能够引用其自身,从而创建递归 CTE。递归 CTE 是一个重复执行初始 CTE 以返回数据子集直到获取完整结果集的公用表表达式。 当某个查询引用递归 CTE 时,它即被称为递归查询。递归查询通常用于返回分层数据,例如:显示某个组织图中的雇员或物料清单方案(其中父级产品有一个或多个组件,而那些组件可能还有子组件,或者是其他父级产品的组件
Linq to SQL 中datetime 和string转换
一般我们给一条记录增加时间记录,唯一的标识某一个时间点。例如我对数据进行一次操作,或者添加一条数据,都需要记录操作完成的时刻。简单的使用 datetime.now ;就可以获取本机当前时间。 那么这条数据传送到数据空就是这样的:2016-01-27 15:25:25.290   是yyyy-MM-dd hh:mm:ss.xxx的。。 那么问题就来 ,如果我将它转换为string类型显示到文本
SqlServer与Linq 无限递归目录树且输出层级
ALTER VIEW [dbo].[view_TreeLevel] AS WITH cte AS ( SELECT a.ModuleID , a.Module_Name , a.Module_Description , a.Module_FatherID , a.Module_Url , a.Module_Order, 1 Le
linq to Entities,将查询语句转换为普通的SQL语句
using (testEntities MyEntity = new testEntities()) { #region linq to entities 内容练习3 var result = from s in MyEntity.stuinfo
SQL、LINQ、Lambda 三种用法(转)
SQL、LINQ、Lambda 三种用法 颜色注释: SQL LinqToSql Lambda QA 1、 查询Student表中的所有记录的Sname、Ssex和Class列。 select sname,ssex,class from student Linq: from s in Students select new { s.SNAME, s.
LINQ to Entities 不识别方法“XXXXX”,因此该方法无法转换为存储表达式。
AgreeTotalNumListVar = AgreeTotalNumListVar.Where(p => p.TicketType == "国内BSP" || p.TicketType.Reverse().ToString().Substring(0,1) == "D"); 报错: LINQ to Entities 不识别方法“System.Collections.Generic.IE
C#将Lambda表达式转成Sql语句
C#将Lambda表达式转成Sql语句,根据自己看的文章手写出来的,并配有自己理解的注释,有需要的同学可以自行下载。
详解公用表表达式(CTE)
转载:http://www.cnblogs.com/CareySon/archive/2011/12/12/2284740.html简介对于SELECT查询语句来说,通常情况下,为了使T-SQL代码更加简洁和可读,在一个查询中引用另外的结果集都是通过视图而不是子查询来进行分解的.但是,视图是作为系统对象存在数据库中,那对于结果集仅仅需要在存储过程或是用户自定义函数中使用一次的时候,使用视图就显得有些