1

让我使用带有外键的代码优先模型,例如:

class Employee
{
    public int EmployeeId { get; set; }

    public int CompanyId { get; set; }    

    [ForeignKey("CompanyId")]
    public virtual Company Company { get; set; }
}

我想在我的商务服务查询中使用,例如:

class EmployeeService
{
    ...
    var company = employee.Company; // <-- it is substituted by Entity Framework
    ...
}

问题是如何在我的单元测试中替换外键导航属性(如 Employee.Company)?

至于我,我找到了这些解决方案:

  1. 编写类似employee.CompanyId = 1的结构;员工.公司 = _companyRepo.GetById(1)。
  2. 创建像 Employee(Company company) 这样的构造函数。它会使代码更小,但从我的角度来看并不理想

有谁知道更好的解决方案?

4

0 回答 0