Vah*_*eri 6 c# entity-framework
我正在尝试获取每种类型的最新内容,目前我正在使用类似于以下代码的内容来获取每种类型的n条记录
int n = 10;
var contents = Entities.OrderByDescending(i => i.Date);
IQueryable<Content> query = null;
for (int i = 1; i<=5; i++)
{
if (query == null)
{
query = contents.Where(c => c.ContentTypeIndex == i).Take(n);
}
else
{
query = query.Concat(contents.Where(c => c.ContentTypeIndex == i).Take(n));
}
}
Run Code Online (Sandbox Code Playgroud)
另一种解决方案可以是创建SP,但是可以通过在EF中进行分组来实现吗?如果没有,任何清洁解决方案?
Ser*_*kiy 11
contents.Where(c => c.ContentTypeIndex >= 1 && c.ContentTypeIndex <= 5)
.GroupBy(c => c.ContentTypeIndex)
.SelectMany(g => g.Take(n));
Run Code Online (Sandbox Code Playgroud)
注意:如果要选择所有类型的索引,则不需要where在此处进行过滤.
| 归档时间: |
|
| 查看次数: |
6322 次 |
| 最近记录: |