これらの関係を持つエンティティがあるとしましょう:これは単なる架空の例であり、現在のエンティティではありません。
- コース
- ユーザー
- ニュース投稿
コースには多くのユーザーがいます, ユーザーには多くのコースがあります
Courses には多くの NewsPosts があり、NewsPosts には多くの Courses があります
ユーザーには多数の NewsPost があり、NewsPosts には多数のユーザーがいます
最初に .NET Web API で Entity Framework コードを使用しています。これはエンティティを JSON の形式で送り返します。コースを取得しようとすると、エンティティの関係を含む JSON の結果が返されますが、これは問題ありませんが、シリアル化するレベルの数に制限を設定して、最初の関係を超えてすべての関係をシリアル化しないようにしたいと考えています。または第 2 レベル。
GET Course/ は次のようにシリアル化されます。
{
"Users":[{
"id":1,
"newsPosts": [{
"id":1,
"message":"foo"
}]
}],
"newsPosts":[{
"id":2,
"message":"bar"
}]
}
私が望むのは、結果が次のようになるように、1 つまたは 2 つのレベルのみをシリアル化することです。
{
"Users":[{
"id":1,
"newsPosts": []
}],
"newsPosts":[{
"id":2,
"message":"bar"
}]
}
追加しました:
json.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
これは、参照ループを削除するためです。
つまり、シリアル化するノードの最大量を設定する方法はありますか?