gpt4 book ai didi

c# - 如何使用 Code First Entity Framework 4.1 获取完整对象

转载 作者:太空狗 更新时间:2023-10-30 01:10:01 25 4
gpt4 key购买 nike

我试图以 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 注释的好资源。如果你能推荐一个好的,有答案的,你可以给我链接,这对我来说就足够了!

问候,

吉多

Update

I added the virtual keyword as per Saxman and am now dealing with the circular reference error issue.

最佳答案

在相关实体之前添加 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 投影一个匿名对象。

关于c# - 如何使用 Code First Entity Framework 4.1 获取完整对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5585359/

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