Даден модел на данни:
[DataContract]
public class Parent
{
[DataMember]
public IEnumerable<ChildId> Children { get; set; }
}
[DataContract]
public class ChildId
{
[DataMember]
public string Id { get; set; }
}
[DataContract]
public class ChildDetail : ChildId
{
[DataMember]
public string Name { get; set; }
}
От съображения за удобство на изпълнението, има моменти, когато ChildId
обектите на Parent
са всъщност ChildDetail
обекти. Когато използвам JSON.net за сериализиране на Parent
, те се записват с всички свойства на ChildDetail
.
Има ли някакъв начин да инструктирам JSON.net (или който и да е друг сериализатор на JSON, не съм достатъчно далеч в проекта, за да се ангажирам с такъв) да игнорира свойствата на производния клас при сериализиране като базов клас?
РЕДАКТИРАНЕ: Важно е, когато сериализирам директно производния клас, да мога да създам всички свойства. Искам само да инхибирам полиморфизма в обекта Parent
.