1

我目前正在从事Umbraco 4 到 5 迁移项目我坚持通过 Umbraco 5 站点的REST 服务(用于导航)阅读儿童主页 。我知道 REST 服务可以通过 MVC 区域/路由和控制器操作公开,并使用hive从 Umbraco获取数据。我曾经使用以下代码从 Umbraco 4 获取数据

var nodes = uQuery.GetNodesByXPath(
"//root/descendant-or-self::* [@isDoc and (@level = 2) and string(umbracoNaviHide) != '1']"

我尝试使用以下代码来获取数据,但它不工作

        var childs = RoutableRequestContext.Application.Hive.GetReader(new Uri("content://"));

        using (var uow = childs.CreateReadonly<IContentStore>())
        {
            var childIds = uow.Repositories.GetChildRelations(FixedHiveIds.ContentRootSchema, FixedRelationTypes.DefaultRelationType)
                        .Select(x => x.DestinationId).ToArray();

            IEnumerable<TypedEntity> children = uow.Repositories.Get<TypedEntity>(true, childIds);
        }

有谁知道如何使用 hive从Umbraco5获取数据?

4

2 回答 2

2

代替

FixedHiveIds.ContentRootSchema

尝试使用您想要查看的父级的 ID。如果您打算使用根,它是:FixedHiveIds.ContentVirtualRoot

于 2012-02-15T08:26:35.930 回答
0

试过这个吗?

RoutableRequestContext.Application.Hive.QueryContent();
RoutableRequestContext.Application.Hive.QueryMedia()
于 2012-03-09T13:15:26.203 回答