using System.Linq.Expressions;
using SJZY.Track.Domain.Queries;
using SJZY.Track.Domain.SeedWork;
namespace SJZY.Track.Repository.Queries;
///
/// basic queries
///
///
public class BasicQuery : SimpleClient, IBasicQuery where T : class, IEntity, new()
{
///
public BasicQuery()
{
Context = SqlsugarScopeBasic.GetContextSafely("default");
}
///
public async Task GetFirstAsync(Expression> whereExpression,
Expression> resultExpression)
{
return await Context.Queryable().Where(whereExpression).Select(resultExpression).FirstAsync();
}
///
public async Task> GetListAsync(Expression> whereExpression,
Expression> resultExpression)
{
return await Context.Queryable().Where(whereExpression).Select(resultExpression).ToListAsync();
}
///
public async Task GetArrayAsync(Expression> whereExpression,
Expression> resultExpression)
{
return await Context.Queryable().Where(whereExpression).Select(resultExpression).ToArrayAsync();
}
}