分级数据查询建议
本文关键字:数据查询 | 更新日期: 2023-09-27 18:16:49
我试图确定执行以下查询与实体框架(使用c#, ASP. js)的最有效的方式。. NET MVC和SQL Server)。
我有一个位置的层次表。ParentLocationID列引用父位置。例如,美国可能是犹他州的父位置。
[Locations]
ID int
Title nvarchar(100)
ParentLocationID int
然后我有一个活动表,并引用了相应的位置。
[Activities]
ID int
Title nvarchar(100)
LocationID int
我想执行的查询是查找给定位置的所有活动,包括该位置的"子位置"的所有活动。(例如,如果位置是美国,我应该包括美国,犹他州,盐湖城,加利福尼亚等的所有活动)
如果只使用c#,我会写一个递归方法来实现它。但我想知道EF或SQL Server是否提供了对这种场景的支持,而不需要大量的单独查询。我很想听听其他人是怎么做的。使用公共表表达式(CTE):
http://msdn.microsoft.com/en-us/library/ms190766.aspx