У меня есть следующий класс сущности:
public class FacebookComment : BaseEntity
{
[BsonId(IdGenerator = typeof(ObjectIdGenerator))]
[BsonRepresentation(MongoDB.Bson.BsonType.ObjectId)]
[JsonProperty("_id")]
public ObjectId Id { get; set; }
public int? OriginalId { get; set; }
public DateTime Date { get; set; }
public string Message { get; set; }
public string Sentiment { get; set; }
public string Author { get; set; }
}
Когда этот объект сериализуется в JSON, я хотите, чтобы поле Id было записано как "_id": {...}. AFAIK, мне просто нужно было передать желаемое имя свойства в атрибут JsonProperty; и мне должно быть хорошо идти. Однако когда я вызываю JsonConvert.SerializeObject; похоже, он игнорирует мой атрибут и вместо этого отображает следующее:
{
Author: "Author name",
Date: "/Date(1321419600000-0500)/",
DateCreated: "/Date(1323294923176-0500)/",
Id: {
CreationTime: "/Date(0)/",
Increment: 0,
Machine: 0,
Pid: 0,
Timestamp: 0
},
Message: "i like stuff",
OriginalId: null,
Sentiment: "Positive"
}
Как видите, поле Id отображается с неправильным именем поля.
Есть идеи? Работал над этой проблемой в течение часа; не могу понять, почему сериализатор, по-видимому, игнорирует мой JsonProperty.
Мы приветствуем любой конструктивный вклад.