首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

求教高手,Silverlight RIA Service 数据表关联自定义类及查询有关问题

2013-04-20 
求教高手,Silverlight RIA Service 数据表关联自定义类及查询问题?数据库中有两个表,一个地点表Site(字段

求教高手,Silverlight RIA Service 数据表关联自定义类及查询问题?
数据库中有两个表,一个地点表Site(字段有SiteID,Longitude,Latitude,Height,SiteName),一个调查表Survey(字段有SurveyID,SiteID,Time,Num),然后生成实体模型,建立DomainService服务类,我是在DomainService.metadata中自定义了一个非实体类
    [DataContract]
    public class Site_SurveyInfo    {   
       [DataMember]
        [Key]
        public int  siteID { get; set; }
         [DataMember]
        public decimal latitude      { get; set; }
        [DataMember]
        public decimal longitude     { get; set; }
        [DataMember]
        public float   height         {get;set;}
        [DataMember]
        public string siteName  { get; set; }
        [DataMember]
        public DateTime  time           { get; set; }
        [DataMember]
        public int   num { get; set; }
               
    }

然后在DomainService中自定义一个查询方法
         [Query]
        public IQueryable<Site_SurveyInfo> GetSite_SurveyInfo()
        {
            IQueryable<Site_SurveyInfo> query = from a in this.ObjectContext.Site    join b in this.ObjectContext.Survey on a.SiteID equals b.SiteID
                        select new Site_SurveyInfo                       
            {
                             siteID=a.SiteID,
                             longitude = a.Longitude,
                             latitude = a.Latitude,
                             height=a.Height,  
                             siteName = a.SiteName,


                             num = b.Num,                           
                             time =b.Time
                        };
               return query;                                                       
        }

我是在想在地图上通过经纬度打点,在相应的地点上得到相关的调查数据,如Num等,而在客户端异步调用Domain服务提供的GetGetSite_SurveyInfoQuery查询服务时,在地图上无法显示地点也得不到任何数据,(而通过访问单个Site实体在Domain服务中自动生成GetSiteQuery的查询结果,却可以再地图上正常显示地点)这是为什么?请高手指教。感谢灰常啊! silverlight service domain query
[解决办法]
没看懂,在创建图层的时候,加一些你需要的属性  试试看
[解决办法]
IQueryable<Site_SurveyInfo> 是表达式树,而不是数据本身,你序列化表达式树传到sl端当然不会有数据。

        public IEnumerable<Site_SurveyInfo> GetSite_SurveyInfo()
          {
。。。。。。。。。
                return query.ToArray();                                                       
          }

改成这样,传递数据本身即可。

热点排行