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. SQL Server 中添加用户

    在对象资源管理器中点击安全性,选择登录名-新建登录名

  2. Android_sharePreference_ex1

    xml文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andro ...

  3. 关于SWT中的布局Layout

    组件装在容器里,那么这些组件是如何布局的呢?在这之前所有的例子都是使用setBounds来 进行绝对坐标的定位的. 在实际应用过程中大都是采用布局管理器的方式来布局容器中的组件. 布局管理器定义了组件 ...

  4. 【译文】NginScript – 为什么我们要实现自己的JS引擎?

    在上周的nginx.conf 2015用户大会上,我们发布了全新的JavaScript引擎nginscript的预览版.历史上,JavaScript语言已经应用在许多方面,首先是作为客户端脚本,然后又 ...

  5. 使用blktrace排查iowait cpu高的问题

    本文转自这里,blktrace在这种情况下的使用方法值得借鉴学习. ------------------------------------------------------------------ ...

  6. Apache 流媒体 拖动模块编译

    Windows使用apxs独立编译 Apache 模块 http://blog.sina.com.cn/s/blog_43b83d340100mdhl.html 安装 apxs 1.解压apxs.zi ...

  7. ubuntu系统安装jdk

    1,首先到jdk官网下载jdk. 2,然后再把下载下来的jdk包(jdk-8u20-linux-i586.tar.gz),然后打开shell,进入超级管理员权限,进入刚才下载的目录(cd 目录名),然 ...

  8. Git版本管理:Windows下Git配置与使用指南 Gitlab

    简要介绍:Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 一.安装 软件:msysGit-fullinstall-1.8.1.2 打开之后设置安装路径,默认为 ...

  9. 轮子来袭 vJine.Core Orm 之 03_架构分析

    1.vJine.Core ORM 架构: 如上图所示,vJine.Core ORM的特点如下: 所有操作均以DataManager为核心: DataManager业务部分的增删改查操作依赖于Class ...

  10. 重置mysql管理员密码

    重置管理员密码 1.关闭mysql 2.开启mysql,跳过授权表mysql服务 提示:如果此步骤操作成功,那么任何用户登陆MySQL都不需要用户名与密码 保持此窗口不能关闭 3.重新cmd,登陆 m ...