实体框架有时不会将结果返回给List

时间:2012-11-16 09:00:59

标签: c# asp.net entity-framework

我对EF有些问题。所以,我的mysql表中有1000000条记录。我需要限制查询。例如,我使用skip 50000

进行查询
var listRoutes = (from c in context.Routes
                          where c.Alias != ""
                          orderby c.Alias ascending 
                          select c).Skip(50000).Take(500).ToList();

和listRoutes有500条记录。如果我用跳过100000查询

var listRoutes = (from c in context.Routes
                              where c.Alias != ""
                              orderby c.Alias ascending 
                              select c).Skip(100000).Take(500).ToList();

List<Route> listRoutes = context.Routes.Where(x => x.Alias != "").OrderBy(a => a.Alias).Skip(100000).Take(500).ToList();

listRoutes有0条记录。但是,如果我通过

跳过100000或更多来查询
List<Route> listRoutes = context.Database.SqlQuery<Route>("SELECT * FROM testcmsdatamap.routes WHERE alias != '' order by alias asc limit 500000, 500").ToList();

listRoutes也有500个...有什么问题?

1 个答案:

答案 0 :(得分:0)

问题已解决。问题是大数据暂停。 EF构建错误的SQL。为INDEX构建了简单的SQL查询。所以,我有其他问题Entity Framework with Mysql Index

相关问题