我在尝试执行使用 PredicateBuilder 动态构建的查询时遇到问题。
我能够构建查询,但是在执行查询本身时,我得到以下“TypeLoadException”...
运行时: return context.SearchRecords.AsExpandable().Where(predicate).ToList();
无法从程序集“EntityFramework,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”加载类型“System.Data.Entity.Infrastruct.IDbAsyncEnumerable`1”。
我已经为此烦恼了很长一段时间了,我检查了在线示例等,我似乎做的一切都是正确的,所以我希望它能起作用。
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。
提前致谢!
经过更多调查后,我自己找到了答案,结果发现解决方案中的另一个项目引用了较新版本的实体框架。
将所有项目升级到同一版本解决了这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)