Reputation:
I have a problem when serializing inherited objects in Web API.
[DataContract]
public class Item{
[DataMember]
public int ID{get; set;}
[DataMember]
public string Name{get; set;} }
[DataContract]
public class SitecoreItem : Item{
[DataMember]
public DbType SitecoreInstance{get; set;} }
I am trying to return the above mentioned SitecoreItem from WebAPI, but it screams serialization errors. What am I doing wrong?
Upvotes: 5
Views: 2606
Reputation: 27187
This is no different than serialization in WCF. Just use KnownType
[DataContract]
[KnownType(typeof(SitecoreItem))]
public class Item{
[DataMember]
public int ID{get; set;}
[DataMember]
public string Name{get; set;} }
[DataContract]
public class SitecoreItem : Item{
[DataMember]
public DbType SitecoreInstance{get; set;}
}
Upvotes: 4