我正在尝试使用OK函数使用.NET Core 2.1 API将复杂对象作为JSON返回。
复杂对象由一个匿名对象数组和整个未过滤数据集的计数组成。
我正在使用一个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报告错误(当前上下文中不存在名称“数据”和“计数”。)
return ok( new { data: autoCompleteData, count: unfiltedDataCount});
答案 0 :(得分:1)
您使用了错误的语法。
不正确
return ok( new { data: autoCompleteData, count: unfiltedDataCount});
正确
return ok( new { data= autoCompleteData, count= unfiltedDataCount});
您可以在此处查看更多示例:Anonymous types MSDN。