1、这是EF生成的类:

namespace PMS.DataProvider.EntityFramework
{
using System;
using System.Collections.Generic; public partial class M_Managers
{
public string UserName { get; set; }
public string NickName { get; set; }
public string PassWord { get; set; }
public string HeadImg { get; set; }
public int Age { get; set; }
public bool IsMale { get; set; }
public string Email { get; set; }
public string Mobile { get; set; }
public string Address { get; set; }
public string Signature { get; set; }
public string Roles { get; set; }
public string Description { get; set; }
public System.DateTime CreateDate { get; set; }
public string CreateUser { get; set; }
public System.DateTime LastLoginDate { get; set; }
public int LoginTimes { get; set; }
}
}

2、新建一个部分(partial)类:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace PMS.DataProvider.EntityFramework
{
[MetadataType(typeof(M_ManagersMetadata))]
public partial class M_Managers
{

//这里还可以添加“新增属性”
public string AdminTypeStr
        {
            get
            { if (AdminType == "SuperAdmin") { return "超级管理员"; } else { return "普通管理员"; } }
            set { value = AdminType; }
        }
} public class M_ManagersMetadata
{
[Display(Name = "用户名")]
[Required(ErrorMessage = "*")]
[StringLength(, ErrorMessage = "字符长度应在6-50之间", MinimumLength = )]
public string UserName { get; set; } [Display(Name = "显示名")]
[Required(ErrorMessage = "*")]
[StringLength(, ErrorMessage = "字符长度应在6-50之间", MinimumLength = )]
public string NickName { get; set; } [Display(Name = "密码")]
[Required(ErrorMessage = "*")]
[DataType(DataType.Password)]
[StringLength(, ErrorMessage = "字符长度应在6-50之间", MinimumLength = )]
public string PassWord { get; set; } [Display(Name = "头像")]
[DataType(DataType.ImageUrl)]
public string HeadImg { get; set; } [Display(Name = "年龄")]
[Range(, , ErrorMessage = "年龄应在10-120之间")]
public int Age { get; set; } [Display(Name = "性别")]
public bool IsMale { get; set; } [Display(Name = "邮箱")]
[Required(ErrorMessage = "*")]
[DataType(DataType.EmailAddress)]
[EmailAddress(ErrorMessage = "邮箱格式不正确")]
[StringLength(, ErrorMessage = "字符长度应在6-50之间", MinimumLength = )]
public string Email { get; set; } [Display(Name = "手机")]
[Required(ErrorMessage = "*")]
public string Mobile { get; set; } [Display(Name = "地址")]
public string Address { get; set; } [Display(Name = "签名")]
public string Signature { get; set; } [Display(Name = "角色")]
public string Roles { get; set; } [Display(Name = "描述")]
[DataType(DataType.MultilineText)]
public string Description { get; set; } [Display(Name = "创建日期")]
[DataType(DataType.DateTime, ErrorMessage = "日期格式不正确")]
public System.DateTime CreateDate { get; set; } [Display(Name = "创建人")]
public string CreateUser { get; set; } [Display(Name = "最后登录日期")]
[DataType(DataType.Date, ErrorMessage = "日期格式不正确")]
public System.DateTime LastLoginDate { get; set; } [Display(Name = "登录次数")]
public int LoginTimes { get; set; }
}
}

注意:

    [MetadataType(typeof(M_ManagersMetadata))]//给新建的部分类指定要关联的元数据类
public partial class M_Managers//这是新建的部分类,注意要与EF生成的类一样,包括类名称和命名空间
{ } public class M_ManagersMetadata//新建一个元数据类
{
//这里写Model验证
[Display(Name = "用户名")]
[Required(ErrorMessage = "*")]
[StringLength(, ErrorMessage = "字符长度应在6-50之间", MinimumLength = )]
public string UserName { get; set; }
  }

EntityFramework-DBFirst-重新生成后写的验证消失(解决办法)的更多相关文章

  1. WPF发布程序后未授予信任的解决办法

    WPF发布程序后未授予信任的解决办法 基于浏览器的WPF应用程序由于需要比较高的操作权限,所以在项目的安全性属性中选择了“这是完全可信的应用程序”选项.可是,在发布部署后,在其他电脑上打开xbap文件 ...

  2. C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法

    原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 本人新手,在.Net中写WebAPI的时候,当接口返回的json数据含有日期时间类型的字段时, ...

  3. Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法

    原文:Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法 前几个月使用Advanced Installer 打包了一堆安装包,其中有使用默认主题的,也有根据 ...

  4. php history.back返回后表单数据丢失的解决办法

    js使用history.back返回表单数据丢失的主要原因就是使用了session_start();的原因,该函数会强制当前页面不被缓存.本文章向码农介绍php history.back返回后表单数据 ...

  5. CentOS6重启后DNS被还原的解决办法

    CentOS6重启后DNS被还原的解决办法 http://luyx30.blog.51cto.com/1029851/1070765/ centos6.5的64位系统,修改完/etc/sysconfi ...

  6. Eclipse中js文件修改后浏览器不能及时更新的解决办法

    项目中js文件修改后浏览器不能及时更新的解决办法 转载:http://www.codeweblog.com/%E9%A1%B9%E7%9B%AE%E4%B8%ADjs%E6%96%87%E4%BB%B ...

  7. hadoop2.4.0伪分布式搭建以及分布式关机重启后datanode没起来的解决办法

    1.准备Linux环境 1.0点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip ...

  8. 百度编辑器ueditor每次编辑后多一个空行的解决办法

    用ueditor进行编辑文章时,每次编辑后文章前面都会多出一个空行. <script id="editor" type="text/plain" styl ...

  9. OGEngine_2.x中BitmapFont加载后黑屏问题的解决办法

    在我使用OGEngine_2.x进行消灭圈圈(星星)游戏的实践的时候,使用BitmapFont对自定义字体进行调用. 原文字体教程如下:http://blog.csdn.net/OrangeGame/ ...

随机推荐

  1. Cummins INSITE locked and ask for verification code

    Some Cummins INSITE users turn to our engineer with a same question: INSITE has detected an invalid ...

  2. boot2docker安装及使用

    更新homebrew 为了确保有boot2docker的安装脚本 brew update 安装boot2docker brew install boot2docker 初始化 boot2docker ...

  3. multi-threads synchronization use conditional mutex

    #include <pthread.h> int thread_flag; pthread_cond_t thread_flag_cv; pthread_mutex_t thread_fl ...

  4. C语言创建并使用lib

    本文试图以比较简洁的方式创建lib: 只求能够把lib用起来,并不会加上[很多但必须的东西,比如我们之前说过的#ifndef #define 和#endif] 打开vs 创建一个新的项目: 点击确定 ...

  5. Windows2012中Jenkins搭建.NET自动编译测试与发布环境

    安装7Zip 下载地址: http://www.7-zip.org/a/7z1602-x64.exe 安装Git 下载地址:https://github.com/git-for-windows/git ...

  6. 关于SQL语言分类

    从功能上划分,SQL语言可以分为DDL,DML和DCL三大类. 事务:可以作用在DML(update.insert.delete)语句上. 1. DDL(Data Definition Languag ...

  7. transition和animation动画简介

    本文介绍CSS动画的两大组成部分:transition和animation.我不打算给出每一条属性的详尽介绍,那样可以写一本书.这篇文章只是一个简介,帮助初学者了解全貌,同时又是一个快速指南,当你想不 ...

  8. Oracle连接配置以及实例的备份和恢复

    背景:一个团队项目开发,不可能每个人都架设自己本地的数据库,大多数情况下是统一用服务器上的数据库,这时候就需要进行远程数据库的连接.而且有时候还需要进行数据库搬迁 ,这时候就需要进行数据库的备份和恢复 ...

  9. cocos2d-x实战 C++卷 学习笔记--第4章 win32平台下中文乱码问题

    前言: 将GBK编码的字符串转为UTF-8编码.(通俗点说就是解决中文乱码问题) 简要介绍: 在Win32平台下通过 log 输出中文字符时,会出现中文乱码问题.同样的代码在 ios 和 Androi ...

  10. C#多线程同步

    在编写多线程程序时无可避免会碰到线程的同步问题.什么是线程的同步呢? 举个例子:假如在一个公司里面有一个变量记录某人T的工资count=100,有两个主管A和B(即工作线程)在早一些时候拿了这个变量的 ...