我正在嘗試從一個數據庫中加載一張形狀座標表,用於在Silverlight bing地圖上繪圖,我感興趣的表結構是http://dl.dropbox.com/u/10440538/ADO.png。嵌套的foreach循環和WCF RIA域服務
使用wcf ria服務我可以加載數據好,但我需要幫助我的代碼拉出最低級別的數據(座標),並將它們分爲集合。最終的結果應該是我有一個LocationCollection的集合,一個LocationCollection用於數據庫中的每個mapshape。
這是我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
}
}
}
}
shapeList被綁定到一個圖層。不幸的是,當我運行這個時,只繪製了數據庫中的最後一個mapshape。我想我誤解了如何通過遍歷的foreach嵌套,所以我會很感激在啓發的任何努力正確使用嵌套的foreach在這種情況下,或任何其他建議,如果foreach是不合適的(LINQ?)
當你逐步通過它時,shapeList是否保持所有適當的值?當lc.Clear()被擊中時它會丟失最後一個值嗎? – 2012-04-03 15:03:34
清除功能是從shapelist中刪除它,如果我每次看起來工作正常時繼續製作新的LocationCollections。謝謝 – 2012-04-03 15:13:40