efコアに関する演奏をしていて、インクルードステートメントに問題がありました。このコードでは、私は2つの企業を得ました。これは私が期待したものです。あなたがそこに2社があり、私はどんな私が期待したものである、含まれる使用havntとして、関連するすべてのプロパティがnullで見ることができるようにエンティティフレームワークのコア.Include()の問題
public IEnumerable<Company> GetAllCompanies(HsDbContext db)
{
var c = db.Company;
return c;
}
これは
[{"id":1,"companyName":"new","admins":null,"employees":null,"courses":null},
{"id":2,"companyName":"Test Company","admins":null,"employees":null,"courses":null}]
を返します。今、私はこれにメソッドを更新するとき:
public IEnumerable<Company> GetAllCompanies(HsDbContext db)
{
var c = db.Company
.Include(t => t.Employees)
.Include(t => t.Admins)
.ToList();
return c;
}
これは、それが返すものです:
は[{"id":1,"companyName":"new",
"admins":[{"id":2,"forename":"User","surname":"1","companyId":1}]
}]
それは1社のみを返し、管理者のみが含まれています。なぜ2社と従業員が含まれていないのですか?
public class Company
{
public int Id { get; set; }
public string CompanyName { get; set; }
public List<Admin> Admins { get; set; }
public List<Employee> Employees { get; set; }
public List<Course> Courses { get; set; }
public string GetFullName()
{
return CompanyName;
}
}
public class Employee
{
public int Id { get; set; }
public string Forename { get; set; }
public string Surname { get; set; }
public int CompanyId { get; set; }
[ForeignKey("CompanyId")]
public Company company { get; set; }
public ICollection<EmployeeCourse> Employeecourses { get; set; }
}
public class Admin
{
public int Id { get; set; }
public string Forename { get; set; }
public string Surname { get; set; }
public int CompanyId { get; set; }
[ForeignKey("CompanyId")]
public Company Company { get; set; }
}
EF 6以下で同じコードを試しましたか? –
あなたのEFバージョンは何ですか? – Mafii
@Mafii、それはEF Core - EF 7です、タイトル –