【发布时间】:2014-03-17 21:19:51
【问题描述】:
我是 mvc 5 的新手,我想构建一个 asp.net 应用程序来与现有数据库进行交互。我正在使用 VIsual studio 2013 和 Entity Framework 6。
我已经从现有数据库生成了一个 ADO.net 实体数据模型,我目前正在尝试找出进行数据验证的最佳方法,以避免输入错误(让我们以实体用户的电子邮件字段为例)。 正确的方法似乎是在部分类上使用注释。但是如果原始属性声明在自动生成的文件上,我不知道如何添加注释(在我为此创建的新部分类上)。
自动生成的类,如下所示:
namespace Test.Models
{
...
public partial class Users
{
public string Email { get; set; }
}
...
}
按照 [this post] (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)“公共字符串电子邮件”行出错,表示该属性已被声明(这对我来说听起来很逻辑)。
我应该如何在新的部分类上注释自动生成模型上声明的属性? 是否可以定义一个正则表达式用于注解?
感谢您的宝贵时间,
约翰
【问题讨论】:
-
我想保留自动生成的类以使用它们