我是mvc 5的新手,我想构建一个asp.net应用程序来与现有的数据库进行交互。我正在使用VIsual studio 2013和实体框架6。
我已经从一个现有的数据库中生成了一个ADO.net实体数据模型,目前我正在试图找到进行数据验证的最佳方法,以避免输入错误(让我们以来自实体用户的字段电子邮件为例)。正确的方法似乎是在部分类上使用注释。但是,如果原始属性声明位于自动生成的文件上,那么我不知道如何添加注释(在我为此创建的新的分部类上)。
自动生成的类,如下所示:
namespace Test.Models
{
...
public partial class Users
{
public string Email { get; set; }
}
...
}按照this post背后的想法,我尝试创建一个部分类来编写注释,如下所示:
namespace Test.Models
{
using System.ComponentModel.DataAnnotations;
[MetadataType(typeof(UsersMetaData))]
public partial class Users
{
[Someanotations]
public string Email { get; set; }
}
}但是在分部类中,我得到: 1)“MetadataType(typeof of ( UsersMetadata ))”行上的错误,表示找不到UsersMetadata;2)在“公共字符串电子邮件”行上出现错误,表示属性已经声明(听起来很符合逻辑)。
我应该如何在新的分部类上注释自生成模型上声明的属性?是否可以定义一个Regex用于指定?
耽误您时间,实在对不起,
约翰
发布于 2014-03-17 13:19:51
你快到了。UserMetadata实际上是您应用注释的另一个类。我通常把这两个放在同一个文件里。
[MetadataType(typeof(UsersMetaData))]
public partial class Users
{
}
class UsersMetaData
{
[Someanotations]
public string Email { get; set; }
}https://stackoverflow.com/questions/22436712
复制相似问题