クラスを与える:
public class Parent
{
public int id {get; set;}
public int name {get; set;}
public virtual ICollection<Child> children {get; set;}
}
[Table("Child")]
public partial class Child
{
[Key]
public int id {get; set;}
public string name { get; set; }
[NotMapped]
public string nickName { get; set; }
}
そしてコントローラーコード:
List<Parent> parents = parentRepository.Get();
return Json(parents);
LOCALHOST では動作しますが、ライブ サーバーでは動作しません。
エラー: Json タイプのオブジェクトをシリアライズ中に循環参照が検出されました
検索して[ScriptIgnore]
属性を見つけたので、モデルを次のように変更しました
using System.Web.Script.Serialization;
public class Parent
{
public int id {get; set;}
public int name {get; set;}
[ScriptIgnore]
public virtual ICollection<Child> children {get; set;}
}
しかし、ライブサーバー(win2008)でも同じエラーが発生します。
そのエラーを回避し、親データを正常にシリアル化するにはどうすればよいですか?