0
我正在使用實體框架4.1 - 代碼優先。我保存用戶的地址如下:獲取完整地址層次結構(延遲加載問題)
國家 - >區 - >市 - > - >區域 - >地址
只適用於我的國家內的地址,我提供了所有可用區,市和地區該國家如此用戶可以從中選擇。然後他填寫地址表中存儲的地址詳細信息。
爲了使之更清楚,看看下面的例子:
public class Address
{
public int Id { get; set; }
public string Name { get; set; }
[MaxLength(500)]
public string Details { get; set; }
public bool IsDefaultAddress { get; set; }
public string CountryName { get; set; }
public Area Area { get; set; }
public virtual User User { get; set; }
}
public class Area
{
public int Id { get; set; }
public string GoogleName { get; set; }
public string FamiliarName { get; set; }
public virtual ICollection<Address> Addresses { get; set; }
public virtual City City { get; set; }
public string GetName
{
get { return FamiliarName ?? GoogleName; }
}
}
public class City
{
public int Id { get; set; }
public string Name { get; set; }
public virtual District District { get; set; }
public virtual ICollection<Area> Areas { get; set; }
}
public class District
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<City> Cities { get; set; }
public virtual Country Country { get; set; }
}
public class Country
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<District> Districts { get; set; }
}
我注意到,我是否使用virtual
關鍵字或沒有,沒有什麼變化。由於某些原因,Area
始終爲空。
如何檢索地址並讓所有其他信息(區域,城市,地區和國家)的對象不爲空?
你是否正確映射了你的實體?顯示你的映射代碼 – Eranga