.net - 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 行代码要更改:(
解决方案
推荐阅读
- asp.net-core - 使用瞬态 dbContext 在 EF 中保存相关实体失败
- java - app.java:14:错误:表达式的非法开始如何解决?(我刚开始学习java...)
- python - Django:有没有办法确保只有一个唯一的 FK 相关对象可以添加/关联到 PK 对象?
- arrays - 执行一个特殊的for循环
- jenkins - 在 debian 中更改 jenkins 的 /tmp 文件夹
- vue.js - Ant Design Vue - 折叠组件中的自定义标题
- puppeteer - 如何检查 puppeteer 是否完成下载文件
- java - 一个正则表达式,其名称至少包含 3 个数字、2 个特殊字符 & 以字符开头并以数字结尾
- cypress - 使用 cypress-file-upload 将文件上传到 jQuery.filer 不起作用
- react-native - 尝试在 React-Native 中制作主屏幕