質問: EF Core 2.0でASP.NET Core Web APIを開発しています。 私は次のコードを持っています: ``` return _context.Pessoas .Include(x => x.ListasXPessoas).ThenInclude(l => l.Lista) .Take(100); ``` PessoasとListasには多対多の関係があり、ListasXPessoasは結合テーブルです。 Listasエンティティの関連データを返したくないのは、Pessoasに戻るためです。 `Take(100)`目的に反しています。この動作をオフにする方法はありますか、またはSQLコマンドを実行する唯一の方法はありますか?
回答: 問題はインクルードには関係ありません。再帰参照は、ループを繰り返さない限りパフォーマンスに影響するとは思いません。問題は、jsonにシリアル化すると、無限ループになってしまうことです。 jsonフォーマッタに再帰参照を無視するように指示します。 ``` services.AddMvcCore() .AddJsonFormatters(opt => opt.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore); ```