0

我正在使用 Silverlight 3 和 ADO.NET 数据服务,其中包含自定义构建的模型(单独的项目)和 DAL(单独的项目))。在我的 Silverlight 项目中,我创建了一个 [Service Reference] 来引用我的 .svc 文件,该文件又指向我的模型。

这是我的问题:我想使用 DataAnnotations (System.ComponentModel.DataAnnotations) 的丰富功能,但我究竟将这些属性放在哪里?如果我使用这些注释通过模型进行装饰,我看不到它们在我的 [服务参考] 生成的代理代码中呈现。我只看到我的类及其成员,但没有 DataAnnotations (Reference.cs)。

我知道如果我手动更改 (Reference.cs) 文件并添加一些 DataAnnotations,这些更改会渗透到我的 Silverlight 客户端。我不认为我应该更新生成的代码,即带有 (Reference.cs) 的代理代码。所以,我的问题是,在我的分离项目(Web、SL、模型、DAL)的 Visual Studio 结构中,我应该抛出/扩展这个自定义数据源(模型)以利用 DataAnnotations 吗?

我想要这样的东西:

[Required]
public string FirstName
{
    get
    {
        return this._FirstName;
    }
    set
    {
        this.OnFirstNameChanging(value);
        this._FirstName = value;
        this.OnFirstNameChanged();
    }
}
4

2 回答 2

0

我认为查看这篇文章可能会让您对肖恩发表评论的原因有所了解。你的问题的简短回答是。遵循 ModelView-View-Model (MVVM),silverlight 开发风格,然后在你的 Model 中的属性上放置 DataAnnotations,这是一个巨大的话题,你需要先阅读和理解它。我建议您查看 RIA 服务(我认为它现在称为 WCF 服务),如果您想将验证逻辑从 WCF 服务传播回客户端,这将帮助您很多。

于 2010-01-17T21:04:30.530 回答
0

我有一个替换代码生成器,用于生成 ADO.NET 数据服务代理类并在我的 Niagara 项目中自动添加验证:

http://niagara.codeplex.com

于 2009-10-05T01:15:44.307 回答