gpt4 book ai didi

返回 JSON 时的 C# 递归限制

转载 作者:太空狗 更新时间:2023-10-29 17:38:12 25 4
gpt4 key购买 nike

我最近遇到了一个恼人的问题。我将在这里简化我的数据模型,但原理是一样的。我有一个“用户”类。在那个类中,我有一个属性,它是用户拥有的对象列表。我也有这个类“对象”。因为每个“对象”都有一个所有者,所以它有一个“用户”类型的属性,该属性链接到它的所有者。现在,我要做的基本上就是这个

return Json(myUser,JsonRequestBehavior.AllowGet);

当我加载页面时,大约需要 30 秒,然后我收到错误“RecursionLimit exceeded”。

我想这是因为对象相互链接。现在我的问题是,我如何告诉“Json”它不应该比 1 级对象更深才能避免这种情况?

最佳答案

myUser 可能是 EntityFramework 生成的类型。

当您返回 Json 时,框架将准备每个属性,本质上是触发 SQL 命令以延迟加载所有数据。

相反,您应该准备一个具有未附加到 EntityFramework 的具体属性的 ViewModel 类,并准备该对象到您想要的深度。

关于返回 JSON 时的 C# 递归限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10678691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com