RIA服务:服务器进程返回多个实体,但客户端显示1个实体重复

时间:2010-09-17 16:31:38

标签: silverlight-4.0 entity-framework-4 wcf-ria-services

我遇到的问题是RIA Services从服务器返回3个实体(我在调试服务器进程时已经验证,并且已通过Fiddler验证该服务正在返回3个实体。

我正在使用MVVM所以我在客户端使用从Shawn Wildermuth样本借来的辅助函数调用Load:这是代码:

    // Generic query handling
     protected void PerformQuery<T>(DomainContext dc, string name, EntityQuery<T> qry, EventHandler<EntityResultsArgs<T>> evt) where T : Entity
    {
        dc.Load<T>(qry,(r) =>
        {
            if (evt != null)
            {
                try
                {
                    if (r.HasError)
                    {
                        evt(this, new EntityResultsArgs<T>(r.Error));
                    }
                    else if (r.Entities.Count() > 0)
                    {
                        evt(this, new EntityResultsArgs<T>(r.Entities));
                    }
                }
                catch (Exception ex)
                {
                    evt(this, new EntityResultsArgs<T>(ex));
                }
            }
        }, null);
    }

EntityResultsArgs是一个简单的类,它暴露一个异常属性(称为Error)和一个Results属性(包含结果,如果有的话)。

在服务器上,我们使用AutoMapper将结果映射到我们公开的域类,并且此特定服务调用返回IEnumerable。

我缺少什么(或者还有什么可以帮助别人解决这个问题。)

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,问题现在得到了证实。我从服务中检索了3个实体,其中Id(也就是“[Key]”值)为0。