【问题标题】:WCF RIA services domain service metadataWCF RIA 服务域服务元数据
【发布时间】:2011-07-14 05:44:08
【问题描述】:

我在 Silverlight 应用程序中使用 RIA 服务,并使用 RIA 域服务进行数据传输。我在更新方法、添加方法、在元数据字段上放置数据验证属性等方面对域服务和元数据进行了更改。

当我由于添加新表而需要重新生成域服务时,显然生成算法不会保留我的元数据属性或其他域服务方法。有什么方法可以通过 Visual Studio 保存它?有没有更好的方法来解决这种情况?

现在我复制域服务和元数据文件,重新生成域服务和元数据,然后打开旧文件并将我的更新复制回来。这是一个 PITA。

【问题讨论】:

    标签: silverlight-4.0 wcf-ria-services


    【解决方案1】:

    使用部分类。您可以为您的域服务创建部分服务,例如 MyDomainService.cs 和 MyDomainService.metadata.cs。

    例如,在 MyDomainService.metadata.cs 中

    [MetadataTypeAttribute(typeof(Login.Login_Metadata))]
        public partial class Login
        {
            internal sealed class Login_Metadata
            {
                public Login_Metadata()
                {
    
                }
    
                [Display(Description = "Test")]
                public string FirstName { get; set; }
            }
        }
    

    【讨论】:

    • 我想这将适用于域服务类本身,但元数据类只会重新生成并与我创建的部分中的定义发生冲突。我错过了什么吗?
    • 你说的是客户端生成的东西吗?
    • 不,作为域服务的一部分生成的元数据类。我有用于验证的属性,用于覆盖 RIA 服务元数据对象的属性。当我重建域服务时,RIA 服务 VS 对话框中有生成元数据的复选框。这些会覆盖我现有的属性,或者如果我将它们分解为它们自己的部分,它们将是重复的定义。
    猜你喜欢
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    • 2012-01-14
    • 2011-01-29
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    相关资源
    最近更新 更多