我对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个...有什么问题?
答案 0 :(得分:0)
问题已解决。问题是大数据暂停。 EF构建错误的SQL。为INDEX构建了简单的SQL查询。所以,我有其他问题Entity Framework with Mysql Index