Support for AsyncEnumerable (C# 8)

Description

We need to add the netstandard2.1 target but this would allow us to support C# 8 and .NET Core 3.1 features. See https://devblogs.microsoft.com/dotnet/building-c-8-0/

  • Core: RowSet should also implement IAsyncEnumerable

  • LINQ: CqlQuery should also implement IAsyncQueryable - System.Linq.Async package

  • Mapper: Mapper.Fetch should return a type that implements both IEnumerable and IAsyncEnumerable

We could also implement this for netstandard2.0 by adding a nuget dependency but Microsoft doesn't officially support this... See https://btburnett.com/csharp/2019/12/01/iasyncenumerable-is-your-friend.html

EF Core 3.1 implemented support for AsyncEnumerable with netstandard2.0 only: https://github.com/dotnet/efcore/pull/18387/files

Environment

None

Assignee

Unassigned

Reporter

Joao Reis

Labels

None

PM Priority

None

Fix versions

External issue ID

None

Doc Impact

None

Reviewer

None

Pull Request

None

Epic Link

None

Sprint

C# P-MAJOR-NEXT

Pull Requests

None

Size

None

Priority

Major