我对返回结果的数据库进行了查询,并且我有一个 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”中都有相同的随机集合,而不是属于他们的集合。
我的视图模型在任何地方都没有静态变量,也没有从模型到控制器的其他对象操作。
参考资料真的很奇怪,我不知道如何解决它。有任何想法吗?