使用自引用表

时间:2018-03-11 04:17:55

标签: c# sql-server entity-framework-6

我有一个包含以下架构的表:

SELECT [ParkingCardId],
       [ParentParkingCardId],
       [CompanyId],
       [DateRequested],
       [StaffNo],
       [Name],
       [Section],
       [JobTitle],
       [Position],
       [Telephone],
       [Mobile],
       [Fax],
       [POBox],
       [Email],
       [Nationality],
       [Gender],
       [ShiftType],
       [Amount],
       [PassIssueDate],
       [PassExpiryDate]
FROM [DCAServices].[dbo].[ParkingCards];

前两列是关键点:ParkingCardId是PK和ParentParkingCardId,如果不是NULL,则指向同一个表中的另一个ParkingCardId,它本身就是一张丢失的卡片盒的更新。

我想在MVC(Kendo)的Grid中将此信息显示为层次结构,但我的DAL是基于纯实体框架的,到目前为止我还没有使用任何存储过程。我知道有一个LINQ查询来转换这些数据可能并不容易。

也有可能有几代父母。一名工作人员可能正在重建他的职位。因此,网格上的父行可以展开以显示一个可能是父本身的子项,依此类推。

我目前正在查看针对查询的搜索结果,例如“同一桌子中的父子关系”

1 个答案:

答案 0 :(得分:1)

SQL将返回当前项<{1>}的分层结果

Level

点击此链接Common Table Expressions