我有两个单独的域模型类“App”和“AgeGroup”。 App 类包含一些基本的整数和字符串属性,AgeGroup 类也是如此。
我想要实现的是 AppOrder 及其属性的所有应用程序的 JSON 输出,嵌套在按其 GroupOrder 属性排序的关联 AgeGroup 中
必需的 JSON 输出结构示例
"Looped List of Age Groups, order by GroupOrder"
"Looped List of Apps, order by App Order"
First Age Group
Foo App Name
Foo App Icon
Foo App Store URL
Bar App Name
Bar App Icon
Bar App Store URL
Second Age Group
Tur App Name
Tur App Icon
Tur App Store URL
Puk App Name
Puk App Icon
Puk App Store URL
and so on...
到目前为止我的方法:
这是我的"App.cs" Class
public int Id { get; set; }
public string Name { get; set; }
public string StoreURL { get; set; }
public int AppOrder { get; set; }
public string AppIcon { get; set; }
public AgeGroup AgeGroup { get; set; } // Linked to AgeGroup Class
public int AgeGroupId { get; set; }
In the “年龄组.cs”班级,我有以下
public int Id { get; set; }
public int GroupOrder { get; set; }
public string Name { get; set; }
并在AppsController.cs
[HttpGet]
[Route("api/groups")]
public IHttpActionResult AppsByGroup ()
{
var apps = _context.Apps
.OrderBy(a => a.AppOrder)
.Select(a => new
{
a.Name,
a.StoreURL,
a.AppIcon,
AgeGroup = a.AgeGroup.Name
}).GroupBy(a => a.AgeGroup);
return Json(apps);
}
它给了我正确的输出,但没有年龄组名称。
[
[ // Here I wanted the AgeGroup Name from the AgeGroup Table (Group A)
{
"Name": "First App for Group A",
"StoreURL": "some string",
"AppIcon": "icon string",
"AgeGroup": "Group A"
},
{
"Name": "2nd App Group A",
"StoreURL": "aslfdj",
"AppIcon": "asljf",
"AgeGroup": "Group A"
},
{
"Name": "3rd App Group A",
"StoreURL": "aslfdj",
"AppIcon": "alsfdj",
"AgeGroup": "Group A"
}
],
[ // Here I wanted the AgeGroup Name from the AgeGroup Table (Group B)
{
"Name": "1st App GroupB",
"StoreURL": "alsfdj",
"AppIcon": "alsdjf",
"AgeGroup": "Group B"
},
//and so on...