问题
I'm using Entity Framework (code first) like this:
IQueryable<StammdatenEntityModel> query = dbSet;
query.OrderByDescending(s => s.CreateDateTime);
query.Where(s => s.Deleted == false);
if(!String.IsNullOrEmpty(keyword))
{
query.Where(s => s.SerialNumber.Contains(keyword)); //simplified for SO
}
query.Skip(skip);
query.Take(take);
However the OrderByDescending
, Where
, Skip
and Take
don't have any effect.
回答1:
You are not using the result of query
IQueryable<StammdatenEntityModel> query = dbSet;
query = query.OrderByDescending(s => s.CreateDateTime);
query = query.Where(s => s.Deleted == false);
if(!String.IsNullOrEmpty(keyword))
{
query = query.Where(s => s.SerialNumber.Contains(keyword)); //simplified for SO
}
query = query.Skip(skip);
query = query.Take(take);
来源:https://stackoverflow.com/questions/45432279/iqueryable-with-entity-framework-order-where-skip-and-take-have-no-effect