在Silverlight中使用RIA服务时如何扩展实体?

Dav*_*veB 7 silverlight entity-framework-4 wcf-ria-services

在我的Silverlight解决方案的服务器端,我有2个项目.

  1. 提供Silverlight页面的网站.
  2. 实体框架数据访问层.

我有一个具有FirstName和LastName属性的实体.我想添加一个可以从Silverlight客户端获得的FullName属性.

我添加了属性:

namespace Server.DAL.Model
{
    public partial class Contact
    {
        public string FullName
        {
            get
            {
                return string.Format("{0} {1}", this.FirstName, this.LastName);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

从服务器端进行测试时,此新属性存在且工作正常.该属性不存在于Silverlight客户端.我尝试使用Include属性添加元数据类,但由于字符串是基本类型,因此在编译时出现以下错误:

实体类型"Contact"中的属性"FullName"无法使用IncludeAttribute标记,因为"String"不是有效的实体类型.实体类型不能是原始类型或简单类型,如字符串或Guid.

如何将此属性提供给Silverlight客户端?

Der*_*tie 6

将[DataMember]添加到FullName属性. 以下是有关向ComplexTypes添加方法/属性的一些说明.它们也可能适用于实体.也许使用好友类,我没有尝试过这个实体.

namespace Server.DAL.Model
{
    public partial class Contact
    {
        [DataMember]
        public string FullName
        {
            get
            {
                return string.Format("{0} {1}", this.FirstName, this.LastName);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)