2016-01-15 4 views
0

Я хочу, чтобы выбрать пять пункт один из каждой категории, которые, имеющая низкую стоимость, я получаю сообщение об ошибке, пожалуйста, помогите мне с этимВыберите один элемент из каждой категории на основе стоимости

 var packageId = objentity.PackageGalleries. 
       Where(p => p.ParentCategory != "Indian" 
         && p.ParentCategory != "International"). 
       OrderBy(p => p.PackageCost) 
       .GroupBy(p => p.ParentCategory).FirstOrDefault(); 

это только выбрав один элемент из одной категории

В представлении им проходящей

 @foreach (var item in Model) 
     { 
      <a href="javascript:;"> 
       <img src="~/Content/JetJourney/img/@item.FileName" /> 

       <div> 
        <p>@item.PackageName, Starting Price @item.PackageCost *</p> 
        <br /> 
       </div> 
      </a> 
     } 
+0

_i am error_ - какая ошибка? –

ответ

1

Вы можете сгруппировать данные по ParentCategory и в пределах этой группы для того, сгруппированных данных по PackageCost. Это должно дать вам ожидаемый результат: -

var packageId = objentity.PackageGalleries 
          .Where(p => p.ParentCategory != "Indian" &&  
             p.ParentCategory != "International") 
          .GroupBy(p => p.ParentCategory) 
          .Select(x => x.OrderBy(p => p.PackageCost).FirstOrDefault()) 
          .ToList(); 

Update:

Для вашего вопроса Althought я никогда не испытывал такой вопрос, но это может быть связано с отложенным исполнением LINQ как на this пост. Вы можете принудительно выполнить запрос с использованием ToList() с обновлением.

+0

его не работает Я сделал это, я хочу один предмет из каждой категории .... – Richa

+0

@Richa - Really Sorry! Не читал внимательно ваш вопрос (#IndVsAus you knw;)). Проверьте обновленный код. –

+0

thankyou, но дает ошибку «Операция не может быть завершена, потому что DbContext был удален». в представлении – Richa

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