2016-02-29 2 views
0

У меня есть следующий код для построения запроса SORT внутри цикла foreach, однако моя проблема заключается в замене моего старого дескриптора сортировки на последний.NEST C# Запрос Создание SORT в Foreach - ElasticSearch

SearchDescriptor<MyDTO> nQuery = new SearchDescriptor<MyDTO>(); 
foreach (var sort in criteria.SortQuery.OrderBy(o => o.SortPreference)) 
       { 
        nQuery= nQuery.Sort(s => s.Field(sort.SortName, sort.SortOrder)); 
       } 

Как достичь этого внутри ForEach

ответ

3

Вы можете сделать это с помощью

var sortDescriptor = new SortDescriptor<Document>(); 

foreach (var sort in sortCollection) 
{ 
    SortOrder sortOrder; 
    var tryParse = Enum.TryParse(sort.Order, out sortOrder); 
    if(!tryParse) up to you how you are going to handle incorrect sort order 
    sortDescriptor.Field(sort.FieldName, sortOrder); 
} 

client.Search<Document>(s => s.Size(0).Sort(sort => sortDescriptor)); 

Надеется, что это помогает.

+0

Спасибо В самом деле, я пошел с этим :) – TBA

Смежные вопросы