首页 > 解决方案 > ef core 5 调用在以下方法或属性之间有歧义

问题描述

今天我遇到了一个破坏我所有工作代码的情况。我需要一些建议。

我正在使用 EF Core 5 访问数据库,这里是如何访问的示例。

await Context.EntityName.Where(p => p.Id==id).FirstOrDefaultAsync(cancellationToken);

这段代码工作得很好,但有些我是如何开始低于错误的。

Error   CS0121  The call is ambiguous between the following methods or properties: 'System.Linq.Queryable.Where<TSource>(System.Linq.IQueryable<TSource>, System.Linq.Expressions.Expression<System.Func<TSource, bool>>)' and 'System.Linq.AsyncEnumerable.Where<TSource>(System.Collections.Generic.IAsyncEnumerable<TSource>, System.Func<TSource, bool>)'

我不知道为什么会发生此错误,但解决此问题的唯一方法是在Where之前添加.AsQueryable()

await Context.EntityName.AsQueryable().Where(p => p.Id==id).FirstOrDefaultAsync(cancellationToken);

知道这一切是怎么回事吗?为什么突然发生了?

我有将近 1000 行代码要更改:(

标签: .netentity-framework-core.net-5ef-core-5.0

解决方案


推荐阅读