MVC5网站新手/自动生成模型属性的注释

时间:2014-03-16 12:18:01

标签: annotations asp.net-mvc-5

我是mvc 5的新手,我想构建一个asp.net应用程序来与现有数据库进行交互。我使用的是VIsual studio 2013和Entity Framework 6.

我已经从现有数据库生成了ADO.net实体数据模型,我目前正在尝试找出进行数据验证的最佳方法,以避免错误的输入(让我们采取行动)例如来自实体用户的字段电子邮件)。 正确的方法似乎是在部分类上使用Annotations。但是,如果原始属性声明在自动生成的文件中,我不知道如何添加注释(在我为其创建的新部分类上)。

自动生成的类,如下所示:

namespace Test.Models
{
...
    public partial class Users
        {
        public string Email { get; set; }
        }
...
}

按照[这篇文章](Add data annotations to a class generated by entity framework)背后的想法,我试图让部分类在那里写注释:

namespace Test.Models
{
    using System.ComponentModel.DataAnnotations;

    [MetadataType(typeof(UsersMetaData))]
    public partial class Users
    {
         [Someanotations]
         public string Email { get; set; }
    }

}

但在部分课上,我得到: 1)" [MetadataType(typeof(UsersMetadata))]"行上的错误,说无法找到UsersMetadata,并且 2)"公共字符串电子邮件",表示该属性已经被声明(这听起来对我而言)的错误。

我应该如何在新的分部类上注释自动生成模型上声明的属性? 可以定义要在anotation上使用的正则表达式吗?

感谢您的时间,

约翰

1 个答案:

答案 0 :(得分:0)

你快到了。 UserMetadata实际上是您应用注释的另一个类。我通常把这两个放在同一个文件中。

[MetadataType(typeof(UsersMetaData))]
public partial class Users
{

}
class UsersMetaData
{
    [Someanotations]
    public string Email { get; set; }
}