这让我很生气,我有一个DomainService调用,它在服务器上包含一个Include()来返回子对象,如下所示:
public IQueryable<RegionBorder> GetRegionBordersWithPolygonsAndLatLongs()
{
return this.ObjectContext.RegionBorders.Include("RegionPolygons.LatLongs");
}
我已将此行设置为服务器上的调试点,并且它正在生成正确的结果,子集合包含在顶层实体中。但是,在客户端,我无法访问孩子。客户端代码如下:
EntityQuery<RegionBorder> query = idc.GetRegionBordersWithPolygonsAndLatLongsQuery();
LoadOperation<RegionBorder> lo = idc.Load<RegionBorder>(query);
lo.Completed += delegate(object sender, EventArgs e1)
{
//regionBorders = idc.RegionBorders;
string prtyName = "ProjOverspend";
var elements = new Collection<FrameworkElement>();
var propertySet = new ExtendedPropertySet();
propertySet.RegisterProperty(prtyName, prtyName, typeof(double), 0d);
foreach (RegionBorder ent in idc.RegionBorders)
{
foreach (RegionPolygon rp in ent.RegionPolygons)
{
Telerik.Windows.Controls.Map.MapPolygon mp = new Telerik.Windows.Controls.Map.MapPolygon();
mp.Points = rp.Points;
elements.Add(mp);
SetExtendedProperty(propertySet, prtyName, mp, 0d);
}
}
任何人都可以帮助我解决我出错的地方,因为我确信之前工作正常,现在却不会做任何事情。
感谢您的帮助。
马丁。
答案 0 :(得分:1)
您还必须在元数据中添加IncludeAttribute。
答案 1 :(得分:0)
有没有办法在VS2010中生成域服务对话框,生成元数据,自动添加[Include]和[Association(“[String name]”,“[String thisKey]”,“[String otherKey] “)]标签?
如果您出于某种原因需要重新生成域服务,那么维护和测试是非常有意义的。在实体模型中实现了许多/主要的变化。
当模型由于其关系(外键)已经包含此信息时,添加[Association(“”,“”,“”)]标签是否很自然?