JsonContextDb / JsonContextDb.JsonContext / QueryableExtensions.cs
Code · 22 lines · 702 bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22namespace JsonContextDb.JsonContext;

public static class QueryableExtensions
{
	public static Task<List<T>> ToListAsync<T>(this IQueryable<T> queryable)
	{
		return queryable == null ? throw new ArgumentNullException(nameof(queryable)) : Task.FromResult(queryable.ToList());
	}

#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
	public static async IAsyncEnumerable<T> AsAsyncEnumerable<T>(this IQueryable<T> queryable)
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
	{
		ArgumentNullException.ThrowIfNull(queryable);

		foreach (var item in queryable.ToList())
		{
			yield return item;
		}
	}

}