以下の方法を検討してください。リピーターのバインド中に、要求どおりに例外が発生します。
Bindrepeater:
private void BindRepeater()
{
    var idx = ListingPager.CurrentIndex;
    int itemCount;
    var keyword = Keywords.Text.Trim();
    var location = Area.Text.Trim();
    var list = _listing.GetBusinessListings(location, keyword, idx, out itemCount);
    ListingPager.ItemCount = itemCount;
    BusinessListingsRepeater.DataSource = list.ToList(); // exception here
    BusinessListingsRepeater.DataBind();
}
GetBusinessListings:
public IEnumerable<Listing> GetBusinessListings(string location, string keyword, int index, out int itemcount)
{
    var skip = GetItemsToSkip(index);
    var result = CompiledQueries.GetActiveListings(Context);
    if (!string.IsNullOrEmpty(location))
    {
      result= result.Where(c => c.Address.Contains(location));
    }
    if (!string.IsNullOrEmpty(keyword))
    {
        result = result.Where(c => c.RelatedKeywords.Contains(keyword) || c.Description.Contains(keyword));
    }
    var list = result;
    itemcount = list.Count();
    return result.Skip(skip).Take(10);
}
GetActiveListings:
/// <summary>
///   Returns user specific listing
/// </summary>
public static readonly Func<DataContext, IQueryable<Listing>> GetActiveListings =
    CompiledQuery.Compile((DataContext db)
                          => from l in db.GetTable<Listing>()
                             where l.IsActive 
                             select l);
                    
                
                
                            
割り当てるときitemcountあなたは最初にクエリを実行しています。なぜあなたはこれが必要なのですか?
私の提案は、アイテム数をそこでは取得しないことです。
return result.Skip(skip).Take(10).ToList();
基本的には、両方を持つことはできません。必要な結果だけを取得し、1回のクエリで合計数を取得することができます。 2つの別々のクエリを使うこともできます。
結果をコレクションとしてではなく、コレクションとして永続化することをお勧めします。IQueryable。
var list = result.ToArray();
itemcount = list.Length;
return list.Skip(skip).Take(10);
上記のコードはページングに対して正しくないかもしれません。おそらくクエリを2回実行する必要があります。
Queryable.SkipそしてQueryable.Takeそのため、OPのコードは、まだ機能しない場合でも、それほど柔軟になるように設計されています。それがに変更されたのはあなたの答えの中だけですEnumerable.SkipそしてEnumerable.Take。 - user743382