Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight InvokeOperation实体变为空_Silverlight_Silverlight 4.0_Silverlight 3.0_Wcf Ria Services - Fatal编程技术网

Silverlight InvokeOperation实体变为空

Silverlight InvokeOperation实体变为空,silverlight,silverlight-4.0,silverlight-3.0,wcf-ria-services,Silverlight,Silverlight 4.0,Silverlight 3.0,Wcf Ria Services,这是我的方法:- [Invoke] public List<FamilyEvent> GetFamilyEvents(int userId) { List<FamilyEvent> familyEvents = new List<FamilyEvent>(); int id = -1; //just to fool ria //this is for birthday reminders.

这是我的方法:-

   [Invoke]
    public List<FamilyEvent> GetFamilyEvents(int userId)
    {
        List<FamilyEvent> familyEvents = new List<FamilyEvent>();
        int id = -1; //just to fool ria
        //this is for birthday reminders.
        var qry = ((from member in this.ObjectContext.TreeMembers.Where(m => m.UserId == userId && m.Birthdate == null)
                    select member.TreeMemberId).Except(from item in this.ObjectContext.FamilyEvents where item.ReminderType == 
                                                           FMT.Data.Web.Helpers.Global.FAMILY_EVENTS_REMINDERS.BIRTHDAY_REMINDER 
                                                       select item.TreeMemberId));

        var mainQry = from mainMember in this.ObjectContext.TreeMembers
                      where qry.Contains(mainMember.TreeMemberId)
                      select mainMember;

        foreach (var item in mainQry)
        {
            FamilyEvent familyEvent = new FamilyEvent
            {
                FamilyEventId = id--,
                TreeMemberId = item.TreeMemberId,  
                RelatedTreeMemberId = -1,
                ReminderType = FMT.Data.Web.Helpers.Global.FAMILY_EVENTS_REMINDERS.BIRTHDAY_REMINDER
            };
            familyEvent.TreeMember = item;

            familyEvents.Add(familyEvent);
        }

        //this is for anniversary events
        qry = ((from member in this.ObjectContext.TreeMembers.Where(m => m.UserId == userId && m.RelationId == (short)Relations.Partner)
                select member.TreeMemberId).Except(from item in this.ObjectContext.FamilyEvents where item.ReminderType == FMT.Data.Web.Helpers.Global.FAMILY_EVENTS_REMINDERS.ANNIVERSARY_REMINDER
                                                   select item.TreeMemberId));

        mainQry = from mainMember in this.ObjectContext.TreeMembers.Include("RelatedTreeMember")
                  where qry.Contains(mainMember.TreeMemberId)
                  select mainMember;

        foreach (var item in mainQry)
        {
           FamilyEvent familyEvent = new FamilyEvent
            {
                TreeMemberId = item.TreeMemberId,
                TreeMember = item,

                RelatedTreeMemberId = item.RelatedTreeMemberId,
                ReminderType = FMT.Data.Web.Helpers.Global.FAMILY_EVENTS_REMINDERS.ANNIVERSARY_REMINDER
            };
           familyEvent.RelatedTreeMember = item.RelatedTreeMember;
            familyEvents.Add(familyEvent);


        }

        return familyEvents;
    }
[调用]
公共列表GetFamilyEvents(int userId)
{
List familyEvents=新列表();
int id=-1;//只是为了愚弄ria
//这是生日提醒。
var qry=((来自this.ObjectContext.TreeMembers.Where(m=>m.UserId==UserId&&m.Birthdate==null)中的成员)
选择member.TreeMemberId).Exception(来自this.ObjectContext.FamilyEvents中的项,其中item.RememberType==
FMT.Data.Web.Helpers.Global.FAMILY\u事件\u提醒。生日\u提醒
选择item.TreeMemberId);
var mainQry=来自this.ObjectContext.treembers中的main成员
其中qry.Contains(mainMember.TreeMemberId)
选择主要成员;
foreach(主要风险项目)
{
FamilyEvent FamilyEvent=新FamilyEvent
{
FamilyEventId=id--,
TreeMemberId=item.treemberid,
RelatedTreeMemberId=-1,
提醒类型=FMT.Data.Web.Helpers.Global.FAMILY\u事件\u提醒。生日\u提醒
};
familyEvent.TreeMember=项目;
familyEvents.Add(familyEvent);
}
//这是周年纪念活动
qry=((来自this.ObjectContext.TreeMembers.Where中的成员(m=>m.UserId==UserId&&m.RelationId==(短)Relations.Partner)
选择member.TreeMemberId).Exception(从this.ObjectContext.FamilyEvents中的项目,其中item.MemberType==FMT.Data.Web.Helpers.Global.FAMILY\u EVENTS\u Members.Annium\u提醒
选择item.TreeMemberId);
mainQry=this.ObjectContext.TreeMembers.Include(“relatedTreembers”)中的来自main成员
其中qry.Contains(mainMember.TreeMemberId)
选择主要成员;
foreach(主要风险项目)
{
FamilyEvent FamilyEvent=新FamilyEvent
{
TreeMemberId=item.treemberid,
TreeMember=项目,
RelatedTreeMemberId=item.RelatedTreeMberId,
提醒类型=FMT.Data.Web.Helpers.Global.FAMILY\u事件\u提醒。周年纪念\u提醒
};
familyEvent.RelatedTreeMember=项目.RelatedTreeMember;
familyEvents.Add(familyEvent);
}
返回家庭事件;
}

如您所见,我以编程方式填充实体并填充它。当我在返回familyEvents上放置断点时,我可以看到正确的数据。但是在客户端,TreeMember和RelatedTreeMember值变为null。为什么会这样?如果我不使用[Invoke]而使用[Query],它可以工作,但我需要在我的情况下调用。

familyEvent对象是POCO还是RIA实体?@Rus:-它是RIA实体。我最终使用了查询而不是调用,但如果您找到了这个解决方案,它将非常棒。我不明白为什么RIA在调用操作中表现得很奇怪。在文档中还提到不要使用Invoke。