在DbSet <T>上使用LINQ扩展方法时模棱两可的调用

我在上使用LINQ查询DbSet<T>

await _dbContext.Users.AnyAsync(u => u.Name == name);

但是,编译器输出以下错误:

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

其他LINQ扩展方法(如)也会发生类似的问题.Where()

我正在使用EF.Core 3.1并已System.Linq.Async安装软件包。如何解决此问题?

所描述的问题是由System.Linq.AsyncDbSet<TEntity>一起使用软件包引起的

由于同时DbSet<TEntity>实现IQueryable<TEntity>IAsyncEnumerable<TEntity>,因此导入名称空间System.LinqMicrosoft.EntityFrameworkCore导致冲突的扩展方法的定义。不幸的是,避免导入其中之一通常是不可行的。

此行为从EF.Core 3.0开始出现,并将在本期中进行讨论

为了解决这个问题,EF.Core 3.1添加了两个辅助函数AsAsyncEnumerable()AsQueryable(),它们显式返回各自的接口IAsyncEnumerable<TEntity>IQueryable<TEntity>

给定的代码示例通过调用所需的歧义消除功能进行修复:

await _dbContext.Users.AsQueryable().AnyAsync(u => u.Name == name);

要么

await _dbContext.Users.AsAsyncEnumerable().AnyAsync(u => u.Name == name);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有Action <T>参数重载的模棱两可的方法调用

来自分类Dev

具有Action <T>参数重载的模棱两可的方法调用

来自分类Dev

“ uint32_t”的“ long unsigned int”模棱两可的调用

来自分类Dev

NSubstitute DbSet / IQueryable <T>

来自分类Dev

重载模棱两可(int-> int64_t vs int-> double)

来自分类Dev

从DbSet <T>继承并添加属性

来自分类Dev

使用DbSet <T>和IQueryable <T>以及NSubstitute操作对象会返回错误

来自分类Dev

DbSet包含扩展方法循环

来自分类Dev

代替EF7中的DbSet Create()方法使用什么,建议仅使用新的T()

来自分类Dev

对继承的模板方法的模棱两可的调用

来自分类Dev

编译时错误:调用重载方法时模棱两可。为什么?

来自分类Dev

编译时错误:调用重载方法时模棱两可。为什么?

来自分类Dev

绑定到DbSet <T> .Local时如何在WPF中处理验证?

来自分类Dev

T4-实体框架错误:找不到方法:'System.Data.Entity.DbSet`1

来自分类Dev

实体框架,DbSet <T>,Dispose()性能问题

来自分类Dev

FakeItEasy DbSet / IQueryable <T>-实体框架6

来自分类Dev

模棱两可的varargs方法

来自分类Dev

附加使用模棱两可?

来自分类Dev

使用DbSet <>。Local进行分页

来自分类Dev

使用Any时模棱两可的重载方法参考

来自分类Dev

实体框架单元测试(或类似测试),以确保在使用DbSet时始终调用特定的扩展方法

来自分类Dev

使用LINQ通过IList的内容过滤DbSet

来自分类Dev

有没有一种方法可以将DbSet <T>传递到页面中?

来自分类Dev

在ASP.NET Core RC2中使用AddAuthentication时的模棱两可的调用

来自分类Dev

错误:对重载函数的模棱两可的调用

来自分类Dev

模棱两可的调用IQueryable或IEnumerable

来自分类Dev

对context.Object.Include的模棱两可的调用

来自分类Dev

使用具有类的合格名称的字符串调用通用模棱两可的方法

来自分类Dev

在将重载与类型提升配合使用时,为什么方法调用是模棱两可的?

Related 相关文章

  1. 1

    具有Action <T>参数重载的模棱两可的方法调用

  2. 2

    具有Action <T>参数重载的模棱两可的方法调用

  3. 3

    “ uint32_t”的“ long unsigned int”模棱两可的调用

  4. 4

    NSubstitute DbSet / IQueryable <T>

  5. 5

    重载模棱两可(int-> int64_t vs int-> double)

  6. 6

    从DbSet <T>继承并添加属性

  7. 7

    使用DbSet <T>和IQueryable <T>以及NSubstitute操作对象会返回错误

  8. 8

    DbSet包含扩展方法循环

  9. 9

    代替EF7中的DbSet Create()方法使用什么,建议仅使用新的T()

  10. 10

    对继承的模板方法的模棱两可的调用

  11. 11

    编译时错误:调用重载方法时模棱两可。为什么?

  12. 12

    编译时错误:调用重载方法时模棱两可。为什么?

  13. 13

    绑定到DbSet <T> .Local时如何在WPF中处理验证?

  14. 14

    T4-实体框架错误:找不到方法:'System.Data.Entity.DbSet`1

  15. 15

    实体框架,DbSet <T>,Dispose()性能问题

  16. 16

    FakeItEasy DbSet / IQueryable <T>-实体框架6

  17. 17

    模棱两可的varargs方法

  18. 18

    附加使用模棱两可?

  19. 19

    使用DbSet <>。Local进行分页

  20. 20

    使用Any时模棱两可的重载方法参考

  21. 21

    实体框架单元测试(或类似测试),以确保在使用DbSet时始终调用特定的扩展方法

  22. 22

    使用LINQ通过IList的内容过滤DbSet

  23. 23

    有没有一种方法可以将DbSet <T>传递到页面中?

  24. 24

    在ASP.NET Core RC2中使用AddAuthentication时的模棱两可的调用

  25. 25

    错误:对重载函数的模棱两可的调用

  26. 26

    模棱两可的调用IQueryable或IEnumerable

  27. 27

    对context.Object.Include的模棱两可的调用

  28. 28

    使用具有类的合格名称的字符串调用通用模棱两可的方法

  29. 29

    在将重载与类型提升配合使用时,为什么方法调用是模棱两可的?

热门标签

归档