結果を返すデータベースへのクエリがあり、別の IEnumerable を含む IEnumerable があり、Model Populator で次のようなことを行います
List<Parent> parents = Result1;
List<Children> children = Result2;
その後
foreach (parent p in parents)
{
p.MyChildren = children.Where(x => x.ParentId == p.Id);
}
私はこれまでデバッグしてきましたが、ループ中とモデルを含む最終モデルの両方でモデルを返すまでに、データは正しいです。
ただし、コントローラーで親のリストを取得すると、少し前に正しかったとしても、それらはすべて同じ子コレクションを持っています。つまり、各親は「MyChildren」に同じランダム コレクションを持ち、それらに属するコレクションは持ちません。
ビュー モデルには静的変数がなく、モデルからコントローラーへの他のオブジェクト操作はありません。
参照で何か非常に奇妙なことが起こっており、それを解決する方法がわかりません。何か案は?