Итак, у меня есть этот ответ Json OData:
{
"@odata.context": "http://localhost:7548/DynamicsNAV110/api/beta/$metadata#companies(9b562fdb-5071-4aef-8bf6-d7aa6fd0b472)/salesOrders",
"value": [
{
"@odata.etag": "W/\"JzQ0O2R4VUFBQUo3LzFBQVZnQXhBRGdBTFFBd0FEQUFNQUF3QURrQUFBQUFBQT09Nzs4MTAwMDQyMDsn\"",
"id": "ae5dddef-397b-4fda-bfc2-7fb6490b295d",
"number": "PV18-00009",
"customerNumber": "10780",
"billingPostalAddress": {
"street": "HONDURAS N'.43",
"city": "AGUIMES",
"state": "LAS PALMAS",
"countryLetterCode": "ES",
"postalCode": "35260"
},
"salesOrderLines@odata.context": "http://localhost:7548/DynamicsNAV110/api/beta/$metadata#companies(9b562fdb-5071-4aef-8bf6-d7aa6fd0b472)/salesOrders(ae5dddef-397b-4fda-bfc2-7fb6490b295d)/salesOrderLines",
"salesOrderLines": [
{
"@odata.etag": "W/\"JzQwO1pCVUFBQUNSNzkxZHJuczUyaysvd24rMlNRc3BYUUNIRUNjQUFBQUExOzAwOyc=\"",
"documentId": "ae5dddef-397b-4fda-bfc2-7fb6490b295d",
"sequence": 10000,
"itemId": "fb326b66-26be-4e38-a53f-301da19f445b",
"quantity": 1,
"lineDetails": {
"number": "0000000",
"displayName": "REMATE BLANCO EXTERNO 90"
},
"unitOfMeasure": {
"code": "UDS",
"displayName": "Unidades",
"symbol": null,
"unitConversion": null
}
}
]
}
]
}
Я пытаюсь десериализовать это с помощью RestSharp, поэтому у меня есть 2 класса:
public class SalesOrder
{
public string number { get; set; }
public SalesOrderLine[] salesOrderLines { get; set; }
}
public class SalesOrderLine
{
public string itemId { get; set; }
}
А также этот пользовательскийОболочка:
public class ODataCollectionWrapper<T> where T : class
{
public IEnumerable<T> Value { get; set; }
}
Это мой запрос:
var client = new RestClient("http://localhost:7548/DynamicsNAV110/api/beta/companies%289b562fdb-5071-4aef-8bf6-d7aa6fd0b472%29/salesOrders?$filter=number%20eq%20%27PV18-00009%27&$expand=salesOrderLines");
client.Authenticator = new NtlmAuthenticator();
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute<ODataCollectionWrapper<SalesOrder>>(request);
Так что в отладчике я вижу, что у меня правильно есть родительский элемент в response.Data.Value.number, нодочерний элемент SalesOrderLines не загружается.
Есть идеи, как правильно сериализовать это?