LinqKit Predicate Builder抛出TypeLoadException?

时间:2014-09-08 11:45:43

标签: c# entity-framework predicatebuilder linqkit

我在尝试执行使用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。

提前致谢!

1 个答案:

答案 0 :(得分:0)

经过更多调查后,我找到了自己的答案,结果是解决方案中的另一个项目引用了更新版本的Entity Framework。

将所有项目升级到同一版本解决了这个问题。