IAsyncEnumerable<T> asynchronously enumerates results as they become available. In an ASP.NET Core action, it can begin sending database records without waiting for the complete query result. section 5.4.1
Compared with IEnumerable, it supports slow queries or large result sets by avoiding a fully prepared response. ASP.NET Core serializes the enumerable as a JSON array and finishes when the connection closes. section 5.4.1
Streaming books from a controller
A CatalogController can return IAsyncEnumerable<Book> from its GET method while querying CatalogContext. Optional filtering and Entity Framework Core query configuration remain part of the action. section 5.4.1

