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

WCF RIA Service 的表关联有关问题,

2013-04-21 
WCF RIA Service 的表关联问题,请教大家!我的数据库中有两个表,一个地点表Site(字段有SiteID,Longitude,La

WCF RIA Service 的表关联问题,请教大家!
我的数据库中有两个表,一个地点表Site(字段有SiteID,Longitude,Latitude,Height,SiteName),一个调查表Survey(字段有SurveyID,SiteID,Time,Num),然后添加实体数据模型,生成新的域服务类Domain,我想在Domain.metadata.cs文件中通过自定义一个Site_SurveyInfo类,来筛选存储Site表和Survey表联合查询字段值,添加Site_SurveyInfo类定义为:
using System.Runtime.Serialization;
    [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.cs中使用这个类,并添加一个自定义函数
         [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;                                                       
        }
但是查询时,却得不到数据,这到底是哪里出问题了? service wcf ria
[解决办法]
IQueryable<Site_SurveyInfo> 是表达式树,而不是数据本身。

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

改成这样。

热点排行