我在这里遗漏了一些关键信息..它应该很简单,但我无法让它工作。我已经查看了有关导航属性的各种教程,看来我已经为Code First正确设置了这个。
我有一个POCO类,其中一个元素与状态POCO类有关系,因此:
public class CompanyDetail
{
public int CompanyDetailId { get; set; }
public string CompanyName { get; set; }
public string CompanyStreet1 { get; set; }
public string CompanyStreet2 { get; set; }
public string Suburb { get; set; }
public string Postcode { get; set; }
public virtual State State { get; set; }
}
public class State
{
[Key]
public int StateId { get; set; }
public string ShortName { get; set; }
public string Name { get; set; }
public virtual ICollection<CompanyDetail> CompanyDetails { get; set; }
}
首先装载国家。
然后我将一条记录加载到包含状态的数据库中。
然后我使用以下方式检索记录:
var Company = _context.CompanyDetails.First();
它会检索除了值为NULL的状态之外的所有内容 - 它不会加载状态。
CompanyName = "Test Company"
CompanyStreet1 = "76"
CompanyStreet2 = "Test Street"
Postcode = "4000"
State = null
再次检查数据库,状态引用就在那里..
我错过了什么?我应该在检索到的数据中有状态......