对于一个学校项目,我们一直在研究asp.net核心RESTful API。并且遇到了显示特定实体的问题。我们添加了一项功能,您可以在其中更深入地了解实体,以包括其关系。例如,我们有一个称为发票的实体,它有一个客户。并且客户有多个发票。 因此,当我们包含客户和该客户的发票时,您会希望所有发票都将显示出来。不会发生这种情况,它会显示除“最高”实体(如下所示)之外的所有发票。
[
{
"invoiceId":1,
"customer":{
"customerId":1,
"name":"Aron",
"kvkNumber":"12345",
"invoices":[
{
"invoiceId":2
}
]
}
},
{
"invoiceId":2,
"customer":{
"customerId":1,
"name":"Aron",
"kvkNumber":"12345",
"invoices":[
{
"invoiceId":1
}
]
}
}
]
您可能会看到,属于发票ID 1的客户没有发票ID 1作为其发票的一部分 我们一直在寻找一些JSON序列化选项,但是我们找不到能够很好地解决此问题的选项。我们已经尝试过
options.SerializerSettings.PreserveReferencesHandling = PreserveReferencesHandling.All;
但这会改变json输出的整个布局。
有人能解决这个问题吗?