2016-07-05 14 views
1

Ich konsumiere ein API-Verfahren, und es gibt Antwort vom Typ Produkt und unten ist die Antwort Klassenstruktur.Zuordnen von Antwortobjekten (C#)

Das API-Ergebnis enthält die Produktattribute zusammen mit IList. Da diese API nicht direkt über unseren Windows-Client konsumiert werden kann, verfügen wir über eine Wrapper-Web-API, die diese API verwendet, weshalb wir in der lokalen API eine ähnliche Produktklasse definiert haben. Das Problem, mit dem ich konfrontiert bin, ist, wenn versucht wird, die Eigenschaften von externer API mit lokalen zuzuordnen. Unten ist, was ich versuche zu tun.

response = Response.Result.Select(x => new Product  
{  
Id=x.Id,  
Name=x.Name  
MasterProduct = x.MasterProduct.Cast<MasterProduct>().ToList()//tried below 
}).ToList(); 

aber es funktioniert nicht mit Fehler als - Kann nicht das Objekt des Typs ‚Api.Models.Product‘ werfen

Die Masterproduct hierarchischer Daten bestehen ‚App.DataContracts.Product‘ zu geben .Ich frage mich, wenn der Ansatz, den ich einnehme, richtig ist oder durch irgendeine Methode gemacht werden muss. Jeder Vorschlag oder jede Hilfe wäre willkommen.

Bei der Suche im Web ich über einige Code kam, wo serpare Methode aufgerufen wird zu analysieren Microsoft.Its.Data verwenden, aber dies für einzelne Objekt war, wo, wie in meinem Fall habe ich eine Liste (Hierarchical).

Schätzen Sie, wenn jemand auf ein Linke/Sample zeigen kann, um dasselbe zu erreichen.

Antwort

0

Probieren Serialisierung/Deserialisierung würde tun. Unten ist der Code Vielleicht versuchte Serialisierung/Deserialisierung tun.

if (response.Result != null)  
{  

var serializedResponse = JsonConvert.SerializeObject(Response.Result, Formatting.Indented);  
response = JsonConvert.DeserializeObject<List<Product>>(serializedResponse);  

}).ToList();  
return response; 
+0

durch Vererbung haben die gleiche erreicht, auch über die Arbeit tx. –

Verwandte Themen