2014-09-08 6 views
2

У меня возникла проблема при попытке выполнить запрос, который я построил динамически с помощью PredicateBuilder.LinqKit Predicate Builder бросает TypeLoadException?

Я могу построить запрос, но при выполнении самого запроса я получаю следующее «TypeLoadException» ...

При работе:return context.SearchRecords.AsExpandable().Where(predicate).ToList();

Не удалось загрузить тип «System.Data .Entity.Infrastructure.IDbAsyncEnumerable`1 'из сборки' EntityFramework, Version = 6.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089 '.

Я уже давно тянул свои волосы с этим, я проверил онлайн-примеры и т. Д., И я, кажется, все делаю правильно, поэтому я ожидаю, что это сработает.

private IEnumerable<SearchDto> BuildAndExecuteQuery(string queryString) 
    { 
     var queryWords = this.GetQueryWordsFromQueryString(queryString); 
     using (var context = new AlleyOopSearchContext()) 
     { 
      var predicate = PredicateBuilder.False<SearchDto>(); 
      foreach (var word in queryWords) 
      { 
       var temp = word; 
       predicate = predicate.Or(p => p.ShotDescription.Contains(temp)); 
      } 

      return context.SearchRecords.AsExpandable().Where(predicate).ToList(); 
     } 
    } 

Проект построен с использованием .NET Framework 4.5 и использует Entity Framework 6.

Спасибо заранее!

ответ

0

После более тщательного расследования я нашел ответ для себя, выяснилось, что проект anouther в рамках решения ссылался на более новую версию Entity Framework.

Обновление всех проектов до той же версии позволило решить эту проблему.