我使用Silverlight 3和ADO.NET数据服务,并使用cusotm构建的模型(单独的项目)和DAL(单独的项目))。在我的Silverlight项目中,我创建了一个[服务引用],引用我的.svc文件,该文件又指向我的模型。
这是我的问题:我想使用DataAnnotations(System.ComponentModel.DataAnnotations)的丰富功能,但我究竟在哪里放置这些属性?如果我使用这些注释通过Model进行装饰,我看不到它们在我的[Service Reference]生成的代理代码中呈现。我只是看到我的类及其成员,但没有DataAnnotations(Reference.cs)。
我知道如果我手动更改(Reference.cs)文件并添加一些DataAnnotations,这些更改将通过我的Silverlight客户端进行。我不相信我应该更新生成的代码,即代理代码w / in(Reference.cs)。所以,我的问题是,在我的Visual Studio结构的分离项目(Web,SL,Model,DAL)中,我是否抛出/扩展此自定义数据源(Model)以利用DataAnnotations?
我想要这样的事情:
[Required]
public string FirstName
{
get
{
return this._FirstName;
}
set
{
this.OnFirstNameChanging(value);
this._FirstName = value;
this.OnFirstNameChanged();
}
}
答案 0 :(得分:0)
我有一个替代代码生成用于生成ADO.NET数据服务代理类并在我的Niagara项目中自动添加验证:
答案 1 :(得分:0)
我认为查看this文章可能会让您对Shawn发表评论的原因有所了解。你问题的简短回答是。遵循模型视图模型(MVVM),Silverlight开发风格,然后将DataAnnotations放在模型中的属性上,这是一个很大的主题,您需要先阅读并理解它。我建议你查看RIA服务,(我认为它现在知道它是WCF服务),如果你想将验证逻辑从WCF服务传播回客户端,它将帮助你。