.NET Core API return 列表和列表计数

.NET Core API return list and list count

我正在尝试使用 OK 函数 return 将复杂对象作为 JSON 使用 .NET Core 2.1 API。

复杂对象由匿名对象数组和整个未过滤数据集的计数组成。

我正在使用一个 JavaScript 库,它需要 JSON 这种格式:

{ 
  data: dataFiltered,
  count: dataUnfiltered.length
}

C# 筛选的匿名对象如下所示:

var unfiltedDataCount = product.Where(p => p.CategoryId == categoryId).Count();
var autoCompleteData = products.Select(p => new { name = p.Name, productId = p.ProductId, categoryId = p.CategoryId}).ToList();

这有效:本机行为

return Ok(autoCompleteData);

这不起作用:Visual Studio 报告错误(名称 "data" 和 "count" 在当前上下文中不存在。)

return ok( new { data: autoCompleteData, count: unfiltedDataCount});

您使用了错误的语法。

不正确

return ok( new { data: autoCompleteData, count: unfiltedDataCount});

正确

return ok( new { data= autoCompleteData, count= unfiltedDataCount});

您可以在此处查看更多示例:Anonymous types MSDN