我在尝试执行使用PredicateBuilder动态构建的查询时遇到问题。
我能够构建查询,但在执行查询时,我得到以下内容" TypeLoadException" ...
运行时: return context.SearchRecords.AsExpandable().Where(predicate).ToList();
无法加载类型' System.Data.Entity.Infrastructure.IDbAsyncEnumerable`1'来自assembly' 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();
}
}
Project使用.NET Framework 4.5构建,并使用Entity Framework 6。
提前致谢!
答案 0 :(得分:0)
经过更多调查后,我找到了自己的答案,结果是解决方案中的另一个项目引用了更新版本的Entity Framework。
将所有项目升级到同一版本解决了这个问题。