嵌套foreach循环和WCF RIA域服务
本文关键字:RIA 服务 WCF foreach 循环 嵌套 | 更新日期: 2023-09-27 18:29:57
我正试图从数据库中加载一个形状坐标表,用于在silverlight bing地图上绘制。我感兴趣的表结构在这里http://dl.dropbox.com/u/10440538/ADO.png.
使用wcf-ria服务,我可以加载数据,但我需要代码帮助来提取最低级别的数据(坐标)并将它们分离到集合中。最终结果应该是,我有一个LocationCollections的集合,数据库中每个映射形状都有一个Location collection。
这是我的装载操作回调
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
}
}
}
}
shapeList然后绑定到一个贴图层。不幸的是,当我运行这个时,只绘制了数据库中的最后一个mapshape。我想我误解了foreach嵌套是如何遍历的,所以我很感激在这种情况下正确使用嵌套foreach的任何启发,或者如果foreach不合适(LINQ?)
我认为问题与foreach循环无关,而是与清除lc有关。由于您正在为每个mapshape清除lc,因此它们似乎也已从shapelist中删除。