Вам потребуется создать Пользовательскую реализацию AutoQuery , где вы можете переопределить выражение SQL, генерируемое AutoQuery, например:
public class MyQueryServices : Service
{
public IAutoQueryDb AutoQuery { get; set; }
//Override with custom implementation
public object Any(FindMovies query)
{
var q = AutoQuery.CreateQuery(query, base.Request);
q.Take(CustomLimit);
return AutoQuery.Execute(query, q);
}
}
Кроме того, вы также можете переопределить ограничение с помощью AutoQuery Filter :
var autoQuery = new AutoQueryFeature()
.RegisterQueryFilter<FindMovies, Movie>((q, dto, req) => {
if (req.GetSession().HasRole(RoleNames.Admin, req.TryResolve<IAuthRepository>())
{
q.Take(CustomLimit);
}
});
Plugins.Add(autoQuery);