-1

2 つの単純なエンティティを取得しました。

public class Ingredient : IEntity
{
    public Ingredient()
    {
        Drinks = new List<Drink>();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Drink> Drinks { get; set; }
}

public class Drink : IEntity
{
    public Drink()
    {
        Ingridients = new List<Ingredient>();
    }

    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Ingredient> Ingridients { get; set; }
    public string Approach { get; set; }
}

次のエラーが表示されます。

Object graph for type 'Gudo.Core.Model.Ingredient' contains cycles and cannot be serialized if reference tracking is disabled.

コレクションでJsonIgnore属性を使用してみましたが、次を使用してみました:Drinks

JsonSerializerSettings jsSettings = new JsonSerializerSettings();
        jsSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;

私のglobal.asaxで

何も機能しません..

助けてください。

4

1 に答える 1

1

JSONフォーマッターのシリアライザー設定でこれを設定したことを確認しましたか? この行はあなたのためにそれを行うはずです:

GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
于 2013-01-06T05:28:07.927 に答える