.NET RIA服务:“关联元数据包含以下未知属性或字段”

时间:2009-09-08 18:14:41

标签: c# wcf-ria-services

所以我一直在使用Silverlight的.NET RIA服务,我基于LINQ2SQL DataContext中的几个实体创建了一个新的DomainService。

当我尝试编译时,我收到了这个错误:

  

错误2实体'Data.Service'没有定义键。 DomainService操作公开的实体必须至少有一个标记有KeyAttribute的属性。门户

所以我为Service对象添加了一个元数据类,如下所示:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

namespace Data
{
    [MetadataType(typeof(Service.ServiceMetadata))]
    public partial class Service
    {
        internal sealed class ServiceMetadata
        {
            [Key]
            public int PublicAPI;
        }
    }
}

现在我收到了这个错误:

  

错误4“Data.Service”类型的关联元数据类型包含以下未知属性或字段:PublicAPI。请确保这些成员的名称与主要类型上的属性名称相匹配。门户

PublicAPI在主对象中明确定义为由L2S生成,命名空间是相同的。关于我可能做错什么的任何想法?

我意识到.NET RIA服务仍然是CTP,但这似乎是应该正在运行的框架的基本部分。

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。引用的DataContext是在另一个程序集中,我定义的部分类是在Web项目中,因此系统尝试使用的类的版本之间存在某种脱节。

将datacontext移动到Web项目中解决了它。