【发布时间】:2020-02-04 20:21:14
【问题描述】:
假设每家公司都有一些照片(一对多的关系)。
public class Company
{
[Key]
public int companyID { get; set; }
public string name { get; set; }
// FOREIGN KEY One-To-Many relationship
public ICollection<Photo> PhotoCollection { get; set; }
}
public class Photo
{
[Key]
public int photoID { get; set; }
public string path { get; set; }
}
我的数据库有一些记录,似乎是正确的。
公司表:
CompanyID | Name
----------+---------------------
1 | BestCompany
照片桌:
PhotoID | Path | CompanyID (foreign key)
--------+------------+------------------------
1 | photo1 | 1
2 | photo2 | 1
让公司进入一个变量可以正常工作,我可以进入它的普通列(如 companyID):
var company = await _context.Company
.Where(p => p.companyName == "BestCompany")
.FirstOrDefaultAsync();
很遗憾,photos 变量为空:
List<Photo>photos = company.PhotoCollection;
为什么它是空的?我做错了什么?
我使用 ASP.NET Core 3 和 Entity Framework Core 3.1.1。
【问题讨论】:
-
您是否尝试过在照片上添加显式外键(companyID)或导航属性(company)?
标签: c# linq asp.net-core entity-framework-core