Aspnetboilerplate 覆盖GetAll以更改排序-需要示例

Aspnetboilerplate 覆盖GetAll以更改排序-需要示例,aspnetboilerplate,Aspnetboilerplate,我试图覆盖AsyncCrudAppService调用-“GetAll”,以更改返回的排序顺序 首先,重写方法实际上是正确的方法吗? 如果是,我是否可以举个例子,因为我对如何使用PagedResultDto返回类型执行此操作有点迷茫 如果没有,请告诉我在哪里可以找到方法。从技术上讲,您可以,但如果可以避免的话,确实不应该在GetAll()中进行排序。CRUD应用程序服务还定义了虚拟方法ApplySorting(),该方法已被GetAll使用,也可以被覆盖 调用GetAll()时,您可以传递字符串

我试图覆盖
AsyncCrudAppService
调用-“GetAll”,以更改返回的排序顺序

首先,重写方法实际上是正确的方法吗? 如果是,我是否可以举个例子,因为我对如何使用
PagedResultDto
返回类型执行此操作有点迷茫


如果没有,请告诉我在哪里可以找到方法。

从技术上讲,您可以,但如果可以避免的话,确实不应该在
GetAll()中进行排序。CRUD应用程序服务还定义了虚拟方法
ApplySorting()
,该方法已被GetAll使用,也可以被覆盖

调用
GetAll()
时,您可以传递字符串进行动态排序,它已经可以工作了

await _myAppService.GetAll(new PagedAndSortedResultRequestDto() { Sorting = "Name DESC", MaxResultCount = pageSize, SkipCount = skipCount })

如果您希望对排序行为有更多的控制,如使用默认值或传入格式更好的查询字符串,请重写
ApplySorting()

protectedoverride IQueryable ApplySorting(IQueryable查询,第PAGEDANDSORTEDRESULT请求输入)
{
var sortBy=“LastModificationTime DESC,CreationTime DESC”;
开关(输入.排序?.ToLower())
{
案例“名称asc”:
sortBy=“Name”;
打破
案例“名称描述”:
sortBy=“Name DESC”;
打破
}
input.Sorting=sortBy;
返回base.ApplySorting(查询、输入);
}

从技术上讲,你可以,但如果可以避免的话,你真的不应该在
GetAll()中进行排序。CRUD应用程序服务还定义了虚拟方法
ApplySorting()
,该方法已被GetAll使用,也可以被覆盖

调用
GetAll()
时,您可以传递字符串进行动态排序,它已经可以工作了

await _myAppService.GetAll(new PagedAndSortedResultRequestDto() { Sorting = "Name DESC", MaxResultCount = pageSize, SkipCount = skipCount })

如果您希望对排序行为有更多的控制,如使用默认值或传入格式更好的查询字符串,请重写
ApplySorting()

protectedoverride IQueryable ApplySorting(IQueryable查询,第PAGEDANDSORTEDRESULT请求输入)
{
var sortBy=“LastModificationTime DESC,CreationTime DESC”;
开关(输入.排序?.ToLower())
{
案例“名称asc”:
sortBy=“Name”;
打破
案例“名称描述”:
sortBy=“Name DESC”;
打破
}
input.Sorting=sortBy;
返回base.ApplySorting(查询、输入);
}