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 rowsSqlParameter[] 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.
精彩评论