2014-11-14 22 views
0

我正在开发一个MVC应用程序,我想通过使用其字段值的总和降序来列出项目顺序。我得到了这笔款项,但没有按照这笔款项下降的顺序。使用其字段总和的订单列表

var SharedStories = (from p in PublishedLivestories select p).ToList(); 

SharedStories = (from p in SharedStories 
       let totlaSharedCountOfStory = SharedStories.Sum(s => s.SharedOnFacebookCount 
                    + s.SharedOnGoogleCount 
                    + s.SharedOnInstagramCount 
                    + s.SharedOnLinkedInCount 
                    + s.SharedOnPinterestCount 
                    + s.SharedOnTwitterCount) 
       orderby totlaSharedCountOfStory descending 
       select p).ToList(); 

totlaSharedCountOfStory是我场的总和,我想通过totlaSharedCountOfStory降序排列列表。任何解决方案

回答

0

后使用命令试试这个: -

var result= SharedStories.OrderByDescending(x => x.SharedOnFacebookCount 
               + x.SharedOnGoogleCount 
               + x.SharedOnTwitterCount 
               + x.SharedOnInstagramCount 
               + x.SharedOnLinkedInCount 
               + x.SharedOnPinterestCount) 
              .ToList(); 
0

您需要通过选择SUM()作为::

SharedStories = (from p in PublishedLivestories.ToList() 
        select new{ 
        totlaSharedCountOfStory = p.Sum(s => s.SharedOnFacebookCount 
                    + s.SharedOnGoogleCount 
                    + s.SharedOnInstagramCount 
                    + s.SharedOnLinkedInCount 
                    + s.SharedOnPinterestCount 
                    + s.SharedOnTwitterCount) 
        }).OrderByDescending(x=>x.totlaSharedCountOfStory).ToList(); 
+0

'p'是一个单一的项目在这里,我不能申请'p .Sum'它 –

+0

@SayliVaidya我已经更新了答案。 – Rahul