使用JSON.NET从ids自动序列化子对象

时间:2015-01-14 01:36:03

标签: c# json entity-framework json.net

使用默认的JSON.NET序列化设置序列化对象时,子对象及其外键分别设置如下:

{
    "id": 1,
    "postId": 22,
    "tagId": 16,
    "post": null,
    "tag": null
}

因为我希望对象能够与客户端JavaScript框架一起使用,所以我希望对象更加智能地进行序列化。实体框架已经知道'帖子' object是由< postId'表示的对象,但是如何告诉序列化器呢?

我希望将json序列化,即使被序列化的类的C#实例具有null Post属性。

{
    "id": 1,
    "post": {
        "id": 22
    },
    "tag": {
        "id": 16
    }
}

我知道我可以使用JsonConverter自定义每个对象的序列化,但这涉及为每种类型的对象编写自定义序列化程序。我希望这种类型的序列化行为能够自动完成。

上面的json重申了这个C#类:

 public class ExampleBlogObject
   {      
      public int Id { get; set; }

      public int PostId { get; set; }

      public int TagId { get; set; }

      [ForeignKey("PostId")]
      public virtual Post Post { get; set; }

      [ForeignKey("TagId")]
      public virtual Tag Tag { get; set; }
   }

0 个答案:

没有答案