Silverlight 4.0 使用分部类扩展实体类…不支持的类型错误

Silverlight 4.0 使用分部类扩展实体类…不支持的类型错误,silverlight-4.0,Silverlight 4.0,我一定是做错了什么,因为这似乎是一个非常简单的扩展,当您试图编译代码时会导致错误 所以…我们有一个客户表,在该表中我们有一个客户ID。我们只存储客户ID,其余数据来自客户真相中心 当我们生成实体EDMX文件时,将引用此客户表并创建实体客户对象 我们获取这个客户ID,并从我们的客户真相中心WCF服务获取剩余的客户信息。这将返回名称、年龄等 所以…我们想用这些附加属性扩展现有的客户实体,但是我们在客户数据库中“持久化”了这些属性 因此,我们创建了一个分部类来扩展实体客户,如下所示: namespac

我一定是做错了什么,因为这似乎是一个非常简单的扩展,当您试图编译代码时会导致错误

所以…我们有一个客户表,在该表中我们有一个客户ID。我们只存储客户ID,其余数据来自客户真相中心

当我们生成实体EDMX文件时,将引用此客户表并创建实体客户对象

我们获取这个客户ID,并从我们的客户真相中心WCF服务获取剩余的客户信息。这将返回名称、年龄等

所以…我们想用这些附加属性扩展现有的客户实体,但是我们在客户数据库中“持久化”了这些属性

因此,我们创建了一个分部类来扩展实体客户,如下所示:

namespace UsingRIAServices.Web.Models
{
    public partial class Customer
    {

        public string Name { get; set;}
        public int Age { get; set;}
    }
}
这不起作用,当您构建时会出现以下错误

实体“UsingRIAServices.Web.Models.Customer”具有支持类型的属性“CustomerReference”

所以…如果你进入Customer.Designer.cs,你会看到这个属性

/// <summary>
    /// No Metadata Documentation available.
    /// </summary>
    [BrowsableAttribute(false)]
    [DataMemberAttribute()]
    public EntityReference<Customer> CustomerReference
    {
          blah, blah
    }
//
///没有可用的元数据文档。
/// 
[浏览属性(错误)]
[DataMemberAttribute()]
公共实体参考客户参考
{
废话,废话
}
注意EntityReference中的Customer类型,它现在是一个扩展类,使用了我们的partial

所以…我将[Datamember]添加到我们分部类中的每个项中…相同的错误。我尝试[Exclude]它并得到相同的错误

为什么看起来如此简单和直接的事情如此困难。请帮助我们了解如何扩展实体分部类。您可以使用表中不包含的数据来实现这一点吗


谢谢

诀窍是将您的类添加到web项目的Models\Shared文件夹中,并将您的类命名为Customer.Shared.cs

然后从新类中删除所有using语句,并将“partial”关键字添加到新类中。例如:

名称空间XXXX.Web { 公共部分类客户 { 公共字符串全名 { 得到 { 返回FirstName+“”+LastName; } } } }