【发布时间】:2011-07-19 18:48:16
【问题描述】:
在我的 Silverlight 解决方案的服务器端,我有 2 个项目。
- 提供 Silverlight 页面的网站。
- 实体框架数据访问层。
我有一个带有 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);
}
}
}
}
从服务器端测试时,这个新属性存在并且工作正常。 Silverlight 客户端上不存在该属性。我尝试使用Include 属性添加元数据类,但由于字符串是原始类型,因此在编译时出现以下错误:
实体类型“联系人”中的属性“全名”不能标记为 IncludeAttribute 因为“字符串”不是有效的实体类型。 实体类型不能是原始类型或字符串等简单类型 或指导。
如何使 Silverlight 客户端可以使用此属性?
【问题讨论】:
-
在服务器端的 xxDataService.cs 文件中,在处理联系人的方法之一中,如果您引用 FullName 属性,您的代码是否编译?在客户端,如果查看 Generated_Code 文件夹中的 *.Web.g.cs 文件,是否可以找到 Contact 类并查看 FullName 属性是否存在?
-
@hatchet - 不,FullName 属性不存在于处理联系人实体的方法中。只有 1 个名为 EntityKeyPropertyName 的属性和 3 个方法。 *.Web.g.cs 文件为空。
-
您是否将 [DataMember] 添加到您的 FullName 属性中?以下是向 ComplexTypes 添加方法/属性的一些说明。它们也可能适用于实体。也许使用伙伴类,我还没有为实体尝试过这个。 thegrayzone.co.uk/blog/tag/wcf-ria-services
-
@Derek Beattie - 我添加了 [DataMember] 属性并且它有效。您应该将此评论作为答案。
标签: silverlight entity-framework-4 wcf-ria-services