我正在使用實體框架6與LazyLoadEnabled = false
配置沒有別的。我在我的項目中使用UnitOfwork存儲庫模式。 而且我有大約1,50,000條記錄在一個外鍵關係約5個表的表中。現在,我的要求就是我要實現服務器端pagination.For,首先我查詢這個表應用一些基本的過濾器後能得到確切的數(如isactive和用戶創建的)象下面這樣:OutOfMemory異常Where條款
public long Count(Func<TEntity,bool> where)
{
return DbSet.Where(where).Count();
}
然後我正在申請某些搜索字符串過濾器和包括像下面的一些外國文獻:
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);
}
但在這兩種方法中,我越來越OutOfMemory exception
,因爲我已經使用Where
條款。請幫我擺脫這個問題。