2

我在尝试执行使用 PredicateBuilder 动态构建的查询时遇到问题。

我能够构建查询,但是在执行查询本身时,我得到以下“TypeLoadException”......

运行时: return context.SearchRecords.AsExpandable().Where(predicate).ToList();

无法从程序集“EntityFramework,Version=6.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”加载类型“System.Data.Entity.Infrastructure.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。

提前致谢!

4

1 回答 1

0

经过更多调查,我为自己找到了答案,结果发现解决方案中的另一个项目正在引用更新版本的实体框架。

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

于 2014-09-08T13:29:50.227 回答