Ria服务。通过Invoke方法加载具有依赖项的对象

时间:2011-01-11 09:18:30

标签: silverlight dns service wcf-ria-services ria

如何通过Invoke方法加载具有依赖项的对象?

E.g。我有一个DTO:

  

[DataContract]

     

公共课MyDTO

     

{

     

[DataMember] public int Id {get; set;}

     

[数据成员]   public string SomeField {get; set;}

     

[DataMember] [Include] public IList< SomeEntity>依赖关系{get; set}   }

并调用方法:

  

[调用]

     

公开MyDTO GetDTO()

     

{

     

返回新的MyDTO()   {   ID = 1,   SomeFields = “测试”,   依赖关系=新列表< SomeEntity>(){new SomeEntity()};   }

在这种情况下,在客户端,我可以将MyDTO实例附加到主域上下文,但不加载依赖项。我不想创建新的方法来单独获取Dependencies。如果创建查询方法而不是调用我应该使用IEnumerable但我只需要一个实例。解决这个问题的最佳方法是什么?感谢。

1 个答案:

答案 0 :(得分:0)

  

如果创建查询方法而是调用   我应该使用IEnumerable,但我   只需要一个实例。是什么   解决这个问题的最佳方法?感谢。

当你查询你的上下文并要求第一条记录时,通过LINQ(如果它是你正在查询的PK,那么只有一条或者没有):

Context.Load(Context.GeEmployeeQuery().Where(a => a.EmployeeId == employeeId),
                                LoadBehavior.RefreshCurrent,
                                x =>
                                  {
                                    Employee = x.Entities.FirstOrDefault();
                                  }, null);