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; のような構造を記述します。employee.Company = _companyRepo.GetById(1)。
  2. Employee(Company company) のようなコンストラクタを作成します。コードは小さくなりますが、私の観点からは理想的ではありません

誰でもより良い解決策を知っていますか?

4

0 に答える 0