如何添加验证到我的POCO(模板)类 [英] How to add validation to my POCO(template) classes

查看:125
本文介绍了如何添加验证到我的POCO(模板)类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我用这个教程来生成我的poco类,我将在我的应用程序中使用..问题是,我不应该修改生成的cs文件,因为他们得到自动重新生成...如何添加属性如[必需]和类似的东西?请帮助

So I used this tutorial to generate my poco classes which I am to use throughout my aplication.. the problem is that Im not supposed to modify the generated cs files cause they get autoregenerated... How do I add attributes like [Required] and stuff like that?? please help

推荐答案

您无法直接添加(除非您修改T4模板为您创建),但您可以尝试使用在ASP.NET动态数据中引入的技巧。所有POCO类都被定义为partial。因此,我们可以定义您的部分内容:

You can't add it directly (unless you modify T4 template to create them for you) but you can try to use trick introduced in ASP.NET dynamic data. All POCO classes are defined as partial. So lets define your partial part:

using System.ComponentModel.DataAnnotations;

[MetadataType(typeof(MyClassMetadata))]
public partial class MyClass
{
  private class MyClassMetadata
  {
     [Required]
     public object Id;

     [Required]
     [StringLength(100)]
     public object Name;
  }
}

元数据类是唯一保存元数据的类型 - 它从未使用过字段名称必须与实际类中的相应字段相同(字段类型无关紧要,因此可以使用对象)。

Metadata class is special type to hold only metadata - it is never used. Name of fields must be same as corresponding fields in real class (field types doesn't matter so you can use object).

无论如何,在ASP.NET MVC中,应该为每个视图使用专门的View模型,并传递所需的数据,以便验证属性将被放置在视图模型类中。

Anyway in ASP.NET MVC you should use specialized View model for each view and pass data you need so the validation attributes will be placed in view model class.

这篇关于如何添加验证到我的POCO(模板)类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆