Retrieving content and all associated properties i

2019-08-11 05:58发布

问题:

Is there a good way of programmatically pulling back a list of Content Items from Orchard?

At the moment I'm doing this, which returns a ContentPartRecord and the Title, but it's not pretty by any means:

public IEnumerable<LookupViewModel> Lookup(string searchText)
    {
        var items = _contentManager
            .Query<MyItemPart, MyItemPartRecord>()
            .Join<TitlePartRecord>()
            .Where(x => x.Title.Contains(searchText))
            .OrderBy(x => x.Title)
            .List();
        return items
            .Select(x => new LookupViewModel()
            {
                Text = x.Name,
                Value = x.Id.ToString()
            });
    }

Any pointers to related documentation would be greatly appreciated, there's very little in this regard for Orchard.

回答1:

Avoid Contains at all costs. It will perform horribly. Instead, leverage the Search module.