JSON.Net sérialiseur ignorant JsonProperty?

J'ai l'entité suivante classe:

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

Lorsque cet objet est sérialisé en JSON, je veux le champ Id être écrit "_id":{...}. Autant que je sache, je dois juste passer le désiré propertyname à la JsonProperty attribut; et je devrais être bon pour aller. Cependant, quand je l'appelle JsonConvert.SerializeObject; il semble ignorer mon attribut et rend ce lieu:

{
    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"
}

Comme vous pouvez le voir, le champ Id est en cours de rendu avec le mauvais nom de champ.

Des idées? Travaillé sur cette question pendant une heure; ne peut pas comprendre pourquoi le processus est apparemment ignorant mon JsonProperty.

Toute remarque constructive est grandement apprécié.

  • Donc BaseEntity a et Id de propriété?
  • Non, BaseEntity n'a qu'un champ DateCreated
  • u ne jamais comprendre cela? Je suis sûr que ma réponse (qui m'a pris deux heures!) est probablement ce qui s'est passé