1

I am currently working on an Umbraco 4 to 5 migration project. I am stuck with reading the Home page childrens via REST service of an Umbraco 5 site (for navigation). I knew that the REST services can be exposed via MVC areas/routes and controller actions, and using hive to get data from Umbraco . I used to get the data from Umbraco 4 with the following code

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

I tried with the following code to fetch the data and it is not working

        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);
        }

Does anyone know how to fetch the data from Umbraco5 using hive?

Febin J S
  • 1,358
  • 3
  • 26
  • 53

2 Answers2

2

instead of

FixedHiveIds.ContentRootSchema

try using the Id of the parent that you'd like to look within. If you're intending to use the root, it's: FixedHiveIds.ContentVirtualRoot

Alex Norcliffe
  • 2,439
  • 2
  • 17
  • 21
0

Ever tried this?

RoutableRequestContext.Application.Hive.QueryContent();
RoutableRequestContext.Application.Hive.QueryMedia()
Amal
  • 461
  • 5
  • 17