Entity Framework相关数据实现(virtual and id of other entity)

问题描述 投票:0回答:1

假设我有 2 个具有一对多关系的相关实体:公司和工作。

公司类:

public class Company {

    public int companyId {get; set;}
    ...other properties

    public **virtual** ICollection<Job> jobs {get; set;}

}

在作业类中

public class Job{

    public int jobId {get; set;}
    ...other properties

    public int companyId {get; set;}
    public Company company {get; set;}

}
  1. 为什么我们有时会在有集合属性的情况下放置virtual关键字?

  2. 为什么我们将 companyId 添加到 Company 属性旁边,而不是仅仅让 Company 属性完成所有工作?

  3. 为什么我们需要配置 onModelCreating 方法来应用外键?不是自动完成的吗?

c# asp.net entity-framework asp.net-web-api
1个回答
0
投票
  1. (我真的不知道。
    virtual
    是 EF .NET Framework 的一部分以支持延迟加载,不确定 EF 核心是否是这样工作的)。
  2. 您不需要 id 属性,除非您自己需要它,否则该列将由 EF 自动(并静默)添加到迁移中。
  3. EF 配置是约定俗成的,除非您想覆盖默认值,否则无需添加
    OnModelCreating 
© www.soinside.com 2019 - 2024. All rights reserved.