Serializing inherited types in ASP.NET Web API

asp.net-web-api, c#

Solution

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;} 
}

Problem

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?

Original source