我这样做的方法是将要序列化的数据投影到匿名类型中,然后对其进行序列化。这样可以确保仅将我真正想要的JSON信息序列化,并且不会在对象图的后面无意间对某些信息进行序列化。看起来像这样:
var records = from entity in context.Entities select new { Prop1 = entity.Prop1, Prop2 = entity.Prop2, ChildProp = entity.Child.Prop }return Json(records);我发现匿名类型对此非常理想。显然,JSON并不关心使用哪种类型来生成它。匿名类型使您可以完全灵活地输入JSON中的属性和结构。



