Files
ersatztv/ErsatzTV.Infrastructure/Extensions/QueryableExtensions.cs
T
Jason DoveandGitHub c02b83d0d6 code cleanup (#743)
* update tools

* run code cleanup

* update dependencies
2022-04-19 17:47:18 -05:00

14 lines
456 B
C#

using System.Linq.Expressions;
using Microsoft.EntityFrameworkCore;
namespace ErsatzTV.Infrastructure.Extensions;
public static class QueryableExtensions
{
public static async Task<Option<T>> SelectOneAsync<T, TKey>(
this IQueryable<T> enumerable,
Expression<Func<T, TKey>> keySelector,
Expression<Func<T, bool>> predicate) where T : class =>
await enumerable.OrderBy(keySelector).FirstOrDefaultAsync(predicate);
}