【发布时间】:2014-09-17 20:08:52
【问题描述】:
我有两个类参与父子关系。父类为Country,子类为City:
public partial class Country
{
public Country()
{
this.Cities = new List<City>();
}
public int Id { get; set; }
public string Name { get; set; }
public string AlphaCodeTwo { get; set; }
public string AlphaCodeThree { get; set; }
public Nullable<int> NumericCode { get; set; }
public string Capital { get; set; }
public string Nationality { get; set; }
public Nullable<decimal> CapitalArea { get; set; }
public Nullable<decimal> CapitalPopulation { get; set; }
public string Image { get; set; }
public virtual List<City> Cities { get; set; }
}
public partial class City
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public Nullable<int> NumericCode { get; set; }
public virtual Country Country { get; set; }
}
当我使用以下 LINQ 查询选择 City 对象时,父类的导航属性是 null:
private List<Country> _Country;
var City = _Country.SelectMany(c => c.Cities).OrderBy(ci => ci.Name).ToList();
我得到所有孩子,但没有父母数据。
【问题讨论】:
-
如何将城市添加到国家/地区?你确定你设置了城市的国家属性
-
you linq 正在 _Country 列表中选择所有国家/地区所有城市的平面列表,当您说 Parent data I am unsure what you mean,您的意思是每个城市对象上的虚拟 Country 属性是空?
-
我在一个文件中有 json 数据,这个对象现在有所有数据,所以我想在他的导航属性中获取所有包含国家的城市对象
-
你想要 .Include() 父母。 LINQ 不会自动加载相关实体,因为这可能会破坏很多东西。见msdn.microsoft.com/en-us/library/bb738708(v=vs.110).aspx
-
@Pharabus yes virtual Country Property is null in city Object
标签: c# linq linq-to-objects