我正在尝试确定使用实体框架(使用C#,ASP.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是否为这种不需要大量单独查询的场景提供支持。我很想听听其他人如何处理这个问题的一些提示。