Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架-通过跳过组使用组进行分页_C#_Entity Framework_Linq_Linq To Entities - Fatal编程技术网

C# 实体框架-通过跳过组使用组进行分页

C# 实体框架-通过跳过组使用组进行分页,c#,entity-framework,linq,linq-to-entities,C#,Entity Framework,Linq,Linq To Entities,我有以下疑问: var enumerable = repository.Elemtents.Where((s) => DbFunctions.TruncateTime(s.Timestamp) <= parameter.To.Date && DbFunctions.TruncateTime(s.Timestamp) >= parameter.From.Date) .Order

我有以下疑问:

var enumerable = repository.Elemtents.Where((s) =>
                DbFunctions.TruncateTime(s.Timestamp) <= parameter.To.Date &&
                DbFunctions.TruncateTime(s.Timestamp) >= parameter.From.Date)
            .OrderByDescending((s) => s.Timestamp)
            .GroupBy((s) => new {Date = DbFunctions.TruncateTime(s.Timestamp), s.Timestamp.Hour})
            .OrderByDescending((s) => s.Key.Date);
我想直接对查询应用Skip()和Take(),以便在sql server上完成查询。如果我这样做,我会得到奇怪的结果:

var result = repository.Elemtents.Where((s) =>
                DbFunctions.TruncateTime(s.Timestamp) <= parameter.To.Date &&
                DbFunctions.TruncateTime(s.Timestamp) >= parameter.From.Date)
            .OrderByDescending((s) => s.Timestamp)
            .GroupBy((s) => new {Date = DbFunctions.TruncateTime(s.Timestamp), s.Timestamp.Hour})
            .OrderByDescending((s) => s.Key.Date)
            .Skip(0)
            .Take(2)
            .ToList();
var result=repository.Elemtents.Where((s)=>
DbFunctions.TruncateTime(s.Timestamp)=参数.From.Date)
.OrderByDescending((s)=>s.Timestamp)
.GroupBy((s)=>new{Date=DbFunctions.TruncateTime(s.Timestamp),s.Timestamp.Hour})
.OrderByDescending((s)=>s.Key.Date)
.Skip(0)
.采取(2)
.ToList();

有人知道如何解决这个问题吗?

你是说我会得到奇怪的结果?你是想跳过/参加小组吗?我这样问是因为你的
ToList
示例没有这样做。@IvanStoev是的,我想跳过/获取组。@m.Wiśnicki日期值类似于4093\01\01你的“直接”查询对我来说很好(
.OrderByDescending((s)=>s.Timestamp)
是多余的,但无论如何都会被忽略)。EF6.1.3,MSSQL。
var result = repository.Elemtents.Where((s) =>
                DbFunctions.TruncateTime(s.Timestamp) <= parameter.To.Date &&
                DbFunctions.TruncateTime(s.Timestamp) >= parameter.From.Date)
            .OrderByDescending((s) => s.Timestamp)
            .GroupBy((s) => new {Date = DbFunctions.TruncateTime(s.Timestamp), s.Timestamp.Hour})
            .OrderByDescending((s) => s.Key.Date)
            .Skip(0)
            .Take(2)
            .ToList();