silverlight加载导航属性的问题!求助!
在添加Ado.Net实体模型后自动生成的实体类的导航属性上加上[Include]
并在查询方法中使用Include("子表")可以加载指定的导航属性。
internal sealed class CompanysMetadata { // 元数据类不会实例化。 private CompanysMetadata() { } public Nullable<short> AddAccountId { get; set; } public Nullable<DateTime> AddTime { get; set; } public short CompanyId { get; set; } public Nullable<short> CompanyLevel { get; set; } public string CompanyName { get; set; } [Include] public EntityCollection<Departments> Departments { get; set; } //添加Include关键字 public Nullable<DateTime> LastUpdateTime { get; set; } public Nullable<short> ParentId { get; set; } public string Remark { get; set; } } }
// TODO: // 考虑约束查询方法的结果。如果需要其他输入, //可向此方法添加参数或创建具有不同名称的其他查询方法。 // 为支持分页,需要向“Companys”查询添加顺序。 public IQueryable<Companys> GetCompanys() { return this.ObjectContext.Companys.Include("Departments"); //查询公司时加载部门子表 }
AccountsDomainContext context = new AccountsDomainContext(); context.Load(context.GetCompanysQuery(), callback => { if (!callback.HasError) { dataGrid1.ItemsSource = callback.Entities; //这时查询的结果的导航属性Departments已经赋值 } }, null);