2014-01-26 3 views
0

Итак, я создаю форум и пытаюсь сортировать темы по дате последнего ответа. Поэтому, когда кто-то посещает домашнюю страницу и щелкает сортировку по «Ответу», он сортирует темы по самому последнему ответу. У меня возникли проблемы с этим с порядком переключения. Я попытался использовать:Как отсортировать фильтр по двум различным запросам?

var threads = from s in db.Forum 
       where s.ReplyId==0 
       select s; 
var Replies = (from s in db.Forum 
         where s.ReplyId != 0 
         select s).OrderByDescending(i => i.DateCreated); 
switch (sortOrder) 
{ 
    default: 
     threads = threads.OrderByDescending(s => Replies.Where(i => i.ReplyId == threads.Where(t=> t.Id==i.ReplyId).FirstOrDefault().Id).FirstOrDefault().DateCreated); 
     break; 
} 

И я получаю ошибку времени выполнения, говоря «Обнаружен цикл».

Запрос на темы захватывает все сообщения, у которых есть ReplyId из 0 или другими словами, каждое сообщение, которое считается нитью. Ответы захватывают все сообщения, которые не равны 0 или, другими словами, все сообщения, которые являются ответами на потоки.

Может ли кто-нибудь показать мне альтернативный способ сортировки тем по последним запросам? В обоих ответах и ​​потоках используется одна и та же модель, поэтому она становится сложной задачей.

+0

Ваш вопрос сбивает с толку. Я читал 3 раза и не мог получить разницу между «сортировать потоки по дате последнего ответа» и «сортировать потоки по самому последнему ответу». Возможно, если вы ставите задачу по-другому, вы сами получите ответ. – trailmax

+0

Итак, я хочу отображать самые последние темы на основе их ответов. Так что если thread1 ответил, что я хочу, чтобы thread1 находился в верхней части списка, потому что это поток с последним действием. С того времени? –

+0

Можете ли вы просто получить список самых последних ответов от БД, присоединиться к ним в потоки и отобразить эти темы? – trailmax

ответ

0

использовали функцию DISTINCT() в запросе Linq, но эта функция используется только один подал в таблице

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