Mil*_*lox 5 asp.net entity-framework
下午好,
我有一个使用 linqdatasource + 实体框架 iqueryable 查询填充的列表视图。
该查询使用如下所示的 take(t-sql 上的 top):
context.Categories().OrderBy(c=>c.Name).Take(20);
Run Code Online (Sandbox Code Playgroud)
它为我提供了我想要按名称排序的 20 条记录。
现在我想按随机顺序显示这 20 条记录。完成此任务的最佳方法是什么?
事实证明,使用扩展方法非常简单,首先按名称排序,然后调用 Take(T-sql 上的顶部)并稍后进行随机化
context.Categories().OrderByName().Take(20).OrderByRandom();
public static IQueryable<Category> OrderByName(this IQueryable<Category> query)
{
return from c in query
orderby c.Name
select c;
}
public static IQueryable<T> OrderByRandom<T>(this IQueryable<T> query)
{
return (from q in query
orderby Guid.NewGuid()
select q);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4492 次 |
| 最近记录: |