我试图以 JSON 形式返回完全深层的对象(填充了所有外键关系),但我得到的所有引用对象均为空值。
这是获取对象的调用:
public ActionResult GetAll()
{
return Json(ppEFContext.Orders, JsonRequestBehavior.AllowGet);
}
这是 Order 对象本身:
public class Order
{
public int Id { get; set; }
public Patient Patient { get; set; }
public CertificationPeriod CertificationPeriod { get; set; }
public Agency Agency { get; set; }
public Diagnosis PrimaryDiagnosis { get; set; }
public OrderApprovalStatus ApprovalStatus { get; set; }
public User Approver { get; set; }
public User Submitter { get; set; }
public DateTime ApprovalDate { get; set; }
public DateTime SubmittedDate { get; set; }
public Boolean IsDeprecated { get; set; }
}
我尚未找到有关使用 EF 4.1 注释的良好资源。如果你能推荐一个好的,有答案的,你可以给我链接,这对我来说就足够了!
Regards,
Guido
Update
我按照 Saxman 添加了 virtual 关键字,现在
处理循环引用
错误问题。
Add the virtual
相关实体之前的关键字:
public class Order
{
public int Id { get; set; }
public virtual Patient Patient { get; set; }
public virtual CertificationPeriod CertificationPeriod { get; set; }
public virtual Agency Agency { get; set; }
public virtual Diagnosis PrimaryDiagnosis { get; set; }
public virtual OrderApprovalStatus ApprovalStatus { get; set; }
public virtual User Approver { get; set; }
public virtual User Submitter { get; set; }
public DateTime ApprovalDate { get; set; }
public DateTime SubmittedDate { get; set; }
public Boolean IsDeprecated { get; set; }
}
你最终可能会得到一个A circular reference was detected while serializing an object...
如果您的对象相互引用,则会出现错误。在这种情况下,您将需要创建一个ViewModel
或类似的东西来克服这个问题。或者使用 LINQ 来投影匿名对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)