我在c#后端的hotchocolate库中使用graphql时遇到问题。当我使用过滤时,整个表被加载,然后过滤。这当然意味着一个可怕的性能作为一个完整的表扫描每次执行。
这是查询
[UseFiltering]
public IQueryable<Person> GetFilteredPersons(
[Service] IPersonRepo repo)
{
return repo.GetAll().AsQueryable();
}
这就是回购
public IEnumerable<Person> GetAll()
{
var query = "SELECT * FROM Persons";
var param = new DynamicParameters();
return SqlMapper.Query<Person>(GetConnection()
query, param,
commandType: CommandType.Text);
}
如何将筛选器传递到where子句?也许dapperextensions使用 predicate ?无论如何,这将是困难的,因为过滤器在graphql查询中不是真正可访问的。
暂无答案!
目前还没有任何答案,快来回答吧!