Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 嵌套的foreach循环和WCF RIA域服务_C#_Silverlight_Wcf Ria Services_Bing Maps - Fatal编程技术网

C# 嵌套的foreach循环和WCF RIA域服务

C# 嵌套的foreach循环和WCF RIA域服务,c#,silverlight,wcf-ria-services,bing-maps,C#,Silverlight,Wcf Ria Services,Bing Maps,我试图从数据库中加载形状坐标表,以便在silverlight bing地图上绘图,我感兴趣的表结构在这里 使用wcf ria服务,我可以加载数据,但我需要代码的帮助来提取最低级别的数据(坐标)并将它们分离到集合中。最终结果应该是,我有一个LocationCollections集合,数据库中每个mapshape都有一个LocationCollection 这是我的loadoperation回调 void FarmsLoaded(LoadOperation<Farm> loadO

我试图从数据库中加载形状坐标表,以便在silverlight bing地图上绘图,我感兴趣的表结构在这里

使用wcf ria服务,我可以加载数据,但我需要代码的帮助来提取最低级别的数据(坐标)并将它们分离到集合中。最终结果应该是,我有一个LocationCollections集合,数据库中每个mapshape都有一个LocationCollection

这是我的loadoperation回调

    void FarmsLoaded(LoadOperation<Farm> loadOp) {

        LocationCollection lc = new LocationCollection();

        foreach (Farm f in loadOp.Entities) {
            foreach (FarmLocation fl in f.FarmLocations) {
                foreach (MapShape ms in fl.MapShapes) {
                    lc.Clear();
                    foreach (MapPoint mp in ms.MapPoints) {
                        lc.Add(new Location(mp.Latitude, mp.Longitude));
                    }
                    shapeList.Add(lc);   //observablecollection of LocationCollections
                }
            }
        }
    }
void FarmsLoaded(加载操作加载操作){
LocationCollection lc=新LocationCollection();
foreach(loadOp.Entities中的场f){
foreach(f.FarmLocations中的农场位置fl){
foreach(fl.MapShapes中的MapShape ms){
lc.Clear();
foreach(ms.MapPoints中的MapPoint mp){
lc.Add(新位置(中纬度、中经度));
}
shapeList.Add(lc);//LocationCollections的observablecollection
}
}
}
}

然后将shapeList绑定到地图图层。不幸的是,当我运行此命令时,只绘制了数据库中的最后一个mapshape。我想我误解了foreach嵌套是如何被遍历的,所以我希望大家能在这种情况下对正确使用嵌套foreach有所启发,或者如果foreach不合适(LINQ?)

我想问题与foreach循环无关,而是与清除lc有关。由于您正在为每个mapshape启用lc,因此它们似乎也会从shapelist中删除。

当您逐步查看时,shapelist是否保留了所有正确的值?当lc.Clear()被点击时,它会丢失最后的值吗?如果每次我继续创建新的LocationCollections,Clear函数会将它从shapelist中删除。如果我将lc.clear()行更改为'LocationCollection lc=new LocationCollection();'那就行了,我想我已经试过了。。。