开发者

silverlight with WCF(get data through collections)

in my silverlight page I am fetching the data through WCF

WCF is returning an BusinessEntityCollection that is the collection of rows

SqlParameter[] sqlParameter = new SqlParameter[]{new SqlParameter("@recordType",recordType)};
                MenuEntity menuEntity;
                MenuEntityCollection menuEntityCollection = new MenuEntityCollection();
                using (SqlDataReader sqlDataReader = SqlHelper.ExecuteReader(_ConnectionString,CommandType.StoredProcedure, <br>StoredProcedures.GetMenus, sqlParameter))
                {
                    if (sqlDataReader.Read())
                    {
                        menuEntity = new MenuEntity();
                        DataAccessHelper.GetEntity(sqlDataReader, menuEntity);
                        menuEntityCollection.Add(menuEntity);
                    }
                }
                return menuEntityCollection;

--> in silverlight page when I am calling WCF there I am getting an error

MenuEntity menuList = new MenuEntity()开发者_开发知识库;

menuList = e.Result; <-----error line

error: Cannot implicitly convert type

'System.Collections.ObjectModel.ObservableCollection' to 'FastTrackSLUI.AdminServiceReference.MenuEntity'


It is returning a collection, but you are treating it as a single instance (menuList is typed as MenuEntity, not some kind of collection). Is the WCF code generated from the "mex"? It should just work... If that is your code, try changing menuList to ObservableCollection<MenuEnity>. Note that over "mex" / soap / etc you don't get the real objects back - you get lightweight proxies. So your custom collection types may have evaporated.


write line [CollectionDataContract] before the MenuEntityCollection Class--

[CollectionDataContract] public class MenuEntityCollection : BusinessEntityCollectionBase { public MenuEntityCollection() { } }

now it is working.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜