我有兩個對象類的EntityFramework和延遲加載
class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set;}
public DateTime BirthDate { get; set; }
public bool IsMale { get; set; }
public byte[] Image { get; set; }
public byte[] RowVersion { get; set; }
public virtual Person Parent { get; set; }
public virtual ICollection<PhoneNumber> PhoneNumber { get; set; }
public virtual ICollection<Address> Addresses { get; set; }
public virtual PersonInfo PersonInfo { get; set; }
}
和:
class PhoneNumber
{
public enum PhoneType
{ Work, Mobile, Home };
public int id { get; set; }
public string phoneNumber { get; set; }
public PhoneType phoneType { get; set; }
public virtual Person Person { get; set; }
}
我添加了「虛擬」的關鍵字,以我的導航性能,使惰性加載,然後我添加了一些代碼用於獲取列表的人:
using (var newContext = new MyDbContext())
{
var selectedPerson = newContext.Persons.ToList();
}
但是,當我運行我的項目時,我得到PhoneNumber爲空! 我想如果我添加「虛擬」關鍵字到我的導航屬性,然後我得到PhoneNumber以及.. 我明白了嗎?
你打開懶加載呢? – ivowiblo
我認爲這足夠了,如果我添加「虛擬」關鍵字我的導航關鍵字,如:人和電話號碼! – pejman
是的,你這樣想,但事實並非如此。 – ivowiblo