0

我正在尝试反序列化一个休眠对象。由于某种原因,我收到了循环引用错误。问题是我无法从中找出导致错误的属性。我已经用 [ScriptIgnoreAttribute] 标记了所有连接的类,但仍然没有。

4

1 回答 1

1

我建议您避免将模型对象传递给视图。相反,您应该定义一个视图模型,该模型专门针对视图的需求量身定制,并且只包含必要的属性。然后在控制器中,您可以在模型和视图模型之间进行映射。例如:

public ActionResult Foo()
{
    SomeModel model = _repository.GetModel();
    SomeViewModel viewModel = Mapper.Map<SomeModel, SomeViewModel>(model);
    return Json(viewModel);
}

通过这种方式,您不再需要担心循环引用,因为您可以完全控制视图模型,并且您将只公开视图所需的内容。

于 2011-03-18T08:45:41.627 回答