我正在尝试排序不同的领域。即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;
}
答案 0 :(得分:3)
be.blogs.OrderBy(b => b.NameOfPropertyOnBlogClass)
它是Lambda expression,在LINQ中大量使用。关于LINQ语法入门的Here's一个很好的“备忘单”。
另外,如果您想在使用EF时加载项目列表,可以拨打ToList()
。
答案 1 :(得分:2)
OrderBy
方法采用具有以下签名的函数:
TResult PropertyRetrieval<TInput, TResult>(TInput obj);
所以,如果您有一个Blog并且想要按BlogID排序,结果将是这个(假设BlogID是一个int):
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);
等