DomainService Include()方法不将子项返回到Silverlight客户端
这让我抓狂,我在服务器上得到了一个DomainService调用,它包含一个Include()来返回子对象,如下所示:DomainService Include()方法不将子项返回到Silverlight客户端,silverlight,.net-3.5,service,dns,Silverlight,.net 3.5,Service,Dns,这让我抓狂,我在服务器上得到了一个DomainService调用,它包含一个Include()来返回子对象,如下所示: public IQueryable<RegionBorder> GetRegionBordersWithPolygonsAndLatLongs() { return this.ObjectContext.RegionBorders.Include("RegionPolygons.LatLongs"); } EntityQuery&l
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);
}
}
public IQueryable GetRegionBordersWithPolygonsAndLatLongs()
{
返回this.ObjectContext.RegionBorders.Include(“RegionPolygons.LatLongs”);
}
我已经在服务器上将这一行设置为调试点,并且它正在使用顶级实体中包含的子集合生成正确的结果。但是,在客户端上,我无法访问子级。客户端代码如下所示:
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);
}
}
EntityQuery query=idc.GetRegionBordersWithPolygonSandLatLongQuery();
LoadOperation lo=idc.Load(查询);
lo.Completed+=委托(对象发送方,事件参数e1)
{
//regionBorders=idc.regionBorders;
字符串prtyName=“ProjOverspend”;
var元素=新集合();
var propertySet=新扩展的propertySet();
propertySet.RegisterProperty(prtyName,prtyName,typeof(double),0d);
foreach(idc.RegionBorders中的RegionBorders)
{
foreach(ent.RegionPolygons中的RegionPolygon rp)
{
Telerik.Windows.Controls.Map.MapPolygon mp=新Telerik.Windows.Controls.Map.MapPolygon();
mp点=rp点;
元素。添加(mp);
SetExtendedProperty(propertySet,prtyName,mp,0d);
}
}
谁能帮我解决哪里出了问题,因为我确信这在以前工作得很好,但现在什么也做不了
谢谢你的帮助
Martyn。您还必须在元数据中添加IncludeAttribute。您还必须在元数据中添加IncludeAttribute。是否有办法在VS2010中生成元数据的域服务对话框中自动添加[Include]和[Association(“[String name]”,“[String thisKey]”,“[String otherKey]”]标签 如果您(例如)在实体模型中实现了许多/主要的更改,那么出于某种原因,需要重新生成域服务,那么维护和测试是相当多的工作
当模型由于其关系(外键)而已经包含此信息时,是否有必要添加[Association(“,”,“)]标记?是否有办法在VS2010中生成元数据的域服务对话框中自动添加[Include]和[Association(“[String name]”,“[String thisKey]”,“[String otherKey]“”]标签 如果您(例如)在实体模型中实现了许多/主要的更改,那么出于某种原因,需要重新生成域服务,那么维护和测试是相当多的工作
当模型由于其关系(外键)已包含此信息时,是否有必要添加[Association(“,”,“)]标记?这些是空间类型吗?WCF RIA服务目前不支持这些类型。最初它们是空间类型,但是,我已将数据库更改为存储组成每个区域的多边形表,然后是存储每个多边形的所有单个纬度/经度点的另一个表。这些是空间类型吗?它们是currentlWCF RIA服务不支持y。最初它们是空间类型,但是,我更改了数据库以存储组成每个区域的多边形表,然后是另一个存储每个多边形的所有单独纬度/经度点的表。谢谢,我的元数据类出错了,当我在之后重新创建域服务时添加一些新实体后,元数据没有正确地重新生成。谢谢,我的元数据类出错了,当我在添加一些新实体后重新创建域服务时,元数据没有正确地重新生成。