c# - How to enable average sorting including empty members -


i need sort average value of member , objects can not calculated average function (empty collection). tried write this:

        var userphotos =             database.set<photo>().where(p => string.isnullorempty(userid) || p.clientprofileid == userid).tolist();         iorderedenumerable<photo> sortedphotos;         switch (orderby)         {             case orderby.raiting:                 sortedphotos = userphotos.where(p => p.votes != null && p.votes.any()).orderbydescending(item => item.votes.average())                     .thenbydescending(p => p.timeofcreation);                 break;             default:                 sortedphotos = userphotos.orderbydescending(item => item.timeofcreation);                 break;         }         return sortedphotos.skip((page - 1)*pagesize).take(pagesize); 

i need include objects have > 0 votes, doesn't work properly. mistake? future answers!

something work:

sortedphotos =     userphotos     .orderbydescending(item =>         (item.votes == null || !item.votes.any())         ? -1         : item.votes.average()); 

the idea photos don't have votes, give them average vote of -1 (or other special value know less real votes can give you).


Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -