如何让 EF Core 使用存储库自动填充实体的子对象中的值?

How do I get EF Core to automatically populate values in an entity's child object using a repository?

如何让 EF Core 使用存储库从查找 table 中自动填充实体子对象中的值?

public class JobTask
{
      [Key]
        public int Id { get; set; }

        [Required]
        [StringLength(128)]
        public string Name { get; set; }

        [ForeignKey("FuelType")]
        public int StatusID { get; set; }
        public StatusObj JobStatus { get; set; }
}

 public class StatusObj
    {
        [Key]
        public int Id  { get; set; }

        [Required]
        [StringLength(30)]
        public string Description { get; set; }

    }

要清楚,数据库中的状态 table 只是查找 table。状态 table 有一个 ID 和一个描述。作业任务 table 在状态查找 table 中持有对 id 的 fk 引用。一个JobTask在任何时候只能有一种状态。

但是每当请求 jobtask 的一行时,如何让 ef core 自动填充 JobTask 对象上的 Status 对象?

从 DatabaseContext 查询 JobTask 时,您需要像这样包含 StatusObj:

_context.JobTask.Include(jobTask => jobTask.JobStatus).ToList();

有关更多详细信息,请查看文档 here