RIA Service 的外键问题搜集

RIA Service 的外键问题搜集,第1张

概述  2010-08-25 15:23 486人阅读 评论(0) 收藏 举报 问题:在Domain Service中使用EF 4 实现如下数据访问,通过Include语句获得Job所关联的Vehicle实体   public IQueryable<Job> GetRunsByVehicleDate(int vehicleID, DateTime date)         {               2010-08-25 15:23 486人阅读 评论(0) 收藏 举报

问题:在Domain Service中使用EF 4 实现如下数据访问,通过Include语句获得Job所关联的Vehicle实体

 

public Iqueryable<Job> GetRunsByVehicleDate(int vehicleID,DateTime date)
        {
            date = date.Date;
            DateTime dateNext = date.AddDays(1);
            var result = this.ObjectContext.Jobs.Include("Vehicle").Include("Location").Include("TimeSlot")
                                           .Where(j => j.JobDate >= date && j.JobDate <= dateNext && j.VehicleID == vehicleID)
                                           .OrderBy(j => j.JobDate);
            return result;
         
        }

 

然而在Silverlight端,job.Vehicle 得到的却是null

 

原因:RIA没有将关联实体在客户端代码上正确生成

 

解决:使用Include 属性并修饰Job实体如下,

 

    [MetadataType(typeof(JobMetaData))]
    partial class Job : IEntity
    {

        public class JobMetaData
        {
            [Include]
            public Vehicle Vehicle { get; set; }

            [Include]
            public Location Location { get; set; }
           
        }
    }

 

注意:Include来自 System.ServiceModel.domainservices.Server.dll at path like

C:/Program files (x86)/Microsoft SDKs/RIA Services/v1.0/librarIEs/Server

 

 

问题描述:

数据库中已经设置好表的外键关系,用ado.net实体数据模型映射数据库,在Silverlight客户端始终无法访问到外键信息(返回null)

 

解决办法:

1.在由EF生成的XX.Designer.cs代码中,添加[Include]特性到外键属性上

2.在域服务类中,在GetXX()方法中读取外键,例如

public Iqueryable<Coupon> GetCoupon()
{
 foreach (var cp in ObjectContext.Coupon)
 {
  ObjectContext.LoadProperty<Coupon>(cp, a => a.Location);
 }
return this.ObjectContext.Coupon.OrderBy(e => e.Coupon_ID);

  更多例子参考: http://www.cnblogs.com/luminji/archive/2011/06/30/2094755.html 总结

以上是内存溢出为你收集整理的RIA Service 的外键问题搜集全部内容,希望文章能够帮你解决RIA Service 的外键问题搜集所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1071022.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存