2011-11-30 97 views
0

我想排序不同的字段。即blogID,日期,作者 我發現爲了用的方法,但不知道如何在法傳遞值...幫助請使用實體模型排序數據

public List<blog> BlogFetch(string key) 
{ 
    List<blog> blogRes = new List<blog>(); 

    using (var be = new BlogEntities()) 
    { 
     blog res = new blog(); 

     foreach (var User in be.blogs.OrderBy(<what goes here?>)) 
     { 
      res = User; 
      blogRes.Add(res); 
     } 
    } 
    return blogRes; 
} 

回答

3
be.blogs.OrderBy(b => b.NameOfPropertyOnBlogClass) 

這是它大量使用在LINQ一個Lambda expressionHere's關於LINQ語法入門的一個很好的「cheatsheet」。

另外,如果您想在使用EF時加載項目列表,則可以撥打ToList()

+0

謝謝..這是非常有益的 –

2

OrderBy方法接受一個函數具有以下簽名:

TResult PropertyRetrieval<TInput, TResult>(TInput obj); 

所以,如果你有一個博客,你想通過BlogID進行排序,結果將是(假設BlogID是一個i​​nt):

int SortBy(Blog obj) 
{ 
    return obj.BlogId; 
} 

你可以由Lambda表達式輸入:

be.blogs.OrderBy(blog => blog.BlogID); 
be.blogs.OrderBy(blog => blog.Date); 
be.blogs.OrderBy(blog => blog.Author); 

+0

真棒..謝謝:) –