Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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# 数据库,以避免对每个分页请求进行全表扫描…即。如果你有数百万行,以及几种类型的用户代理,比如web、iPhone、Android等,都要求相同的数据……我想这是我需要研究的一个单独的设计问题,但这就是分页持续计数背后的想法。感谢LukLed,你的建议与La_C#_Entity Framework 4_Linq To Entities - Fatal编程技术网

C# 数据库,以避免对每个分页请求进行全表扫描…即。如果你有数百万行,以及几种类型的用户代理,比如web、iPhone、Android等,都要求相同的数据……我想这是我需要研究的一个单独的设计问题,但这就是分页持续计数背后的想法。感谢LukLed,你的建议与La

C# 数据库,以避免对每个分页请求进行全表扫描…即。如果你有数百万行,以及几种类型的用户代理,比如web、iPhone、Android等,都要求相同的数据……我想这是我需要研究的一个单独的设计问题,但这就是分页持续计数背后的想法。感谢LukLed,你的建议与La,c#,entity-framework-4,linq-to-entities,C#,Entity Framework 4,Linq To Entities,数据库,以避免对每个分页请求进行全表扫描…即。如果你有数百万行,以及几种类型的用户代理,比如web、iPhone、Android等,都要求相同的数据……我想这是我需要研究的一个单独的设计问题,但这就是分页持续计数背后的想法。感谢LukLed,你的建议与Ladislav的类似。我将尝试这种方法。但我仍然不确定的一点是,在应用分页之前,是否可以通过计数属性对投影到匿名类型上的记录进行排序?谢谢LukLed,您的建议与Ladislav的类似。我将尝试这种方法。但我仍然不确定的是,在应用分页之前,是否可


数据库,以避免对每个分页请求进行全表扫描…即。如果你有数百万行,以及几种类型的用户代理,比如web、iPhone、Android等,都要求相同的数据……我想这是我需要研究的一个单独的设计问题,但这就是分页持续计数背后的想法。感谢LukLed,你的建议与Ladislav的类似。我将尝试这种方法。但我仍然不确定的一点是,在应用分页之前,是否可以通过计数属性对投影到匿名类型上的记录进行排序?谢谢LukLed,您的建议与Ladislav的类似。我将尝试这种方法。但我仍然不确定的是,在应用分页之前,是否可以通过count属性对投影到匿名类型上的记录进行排序?
var query = from u in context.Classes
            orderby tl.Name
            select u;

List<Class> topics = ((ObjectQuery<Class>)query)
    .Include("ClassComments")
    .Skip(startRecord).Take(recordsToReturn).ToList();
var query = context.Classes
              .Include("ClassComments")  // Only add this if you want eager loading of all realted comments
              .OrderBy(c => c.Name)
              .Skip(startRecord)
              .Take(recordsToReturn)
              .Select(c => new 
                 {
                   Class = c,
                   AttendeeCount = c.Attendees.Count(),
                   ClassCommentCount = c.ClassComments.Count() // Not needed because you are loading all Class comments so you can call Count on loaded collection
                 });
public class ClassViewModel {
    public Class Class { get; set; }
    public int AttendeeCount { get; set; }
    public int ClassCommentCount { get; set; }
}


var viewModel = context.Classes.Select(clas => 
    new ClassViewModel { 
        Class = clas, 
        AttendeeCount = clas.ClassAttendes.Count, 
        ClassCommentCount = clas.ClassComments.Count}
).OrderBy(model => model.ClassCommentCount).Skip(startRecord).Take(recordsToReturn).ToList();