J'utilise entity Framework 6 avec la configuration LazyLoadEnabled = false
rien d'autre.J'utilise le modèle de référentiel UnitOfwork dans mon projet. Et j'ai environ 1,50,000 enregistrements dans un tableau avec des relations clés étrangères à environ 5 tables. Maintenant, mon exigence est que je dois mettre en œuvre côté serveur pagination.For que, d'abord j'Interrogation ce tableau pour obtenir le nombre exact après l'application de certains filtres de base (comme isActive et créé par l'utilisateur) comme ci-dessous:Exception OutOfMemory pour la clause Where
public long Count(Func<TEntity,bool> where)
{
return DbSet.Where(where).Count();
}
je je applique un certain filtre à chaîne de recherche et inclure des références étrangères comme ci-dessous:
public IQueryable<TEntity> GetWithInclude(Expression<Func<TEntity, bool>> predicate, params string[] include)
{
IQueryable<TEntity> query = this.DbSet;
query = include.Aggregate(query, (current, inc) => current.Include(inc));
return query.Where(predicate);
}
mais dans les deux méthodes, je reçois OutOfMemory exception
depuis que je l'ai utilisé Where
article. Veuillez m'aider à me débarrasser de ce problème.