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. next nextval

    1 KMP算法中next与nextval值的计算 以上两张图代表了next值的求法,本人总结后做如下叙述: 根据公式可知: next[1]=0 next[2]=1 next[3]的求法根据公式可以直接 ...

  2. FastDFS配置过程

    在我的生产环境中利用FastDFS实现动静分离的方案

  3. javascript深度克隆与javascript的继承实现

    1.javascript深度克隆: //注意这里的对象包括object和array function cloneObject(obj){ var o = obj.constructor === Arr ...

  4. 你了解C语言中的关键字volatile吗?

    我们在学习C语言的32个关键字时,大家都不太注意volatile这个关键字,volatile是一个类型修饰符.volatile的中文意思是“易变的”.那么在程序中我们在什么情况下才使用他呢?我们在分析 ...

  5. hihocoder 1163 博弈游戏·Nim游戏

    1163 : 博弈游戏·Nim游戏 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 今天我们要认识一对新朋友,Alice与Bob. Alice与Bob总是在进行各种各样的 ...

  6. 使用Keil建立工程和烧录到89C52板上

    又开始学习C51了,不清楚能坚持多久,之前学过一段时间,学完P1口就没再学了,之前学的都忘了. 1. 使用Keil 进行建立工程:打开Keil 4. 加载C文件进工程里面 然后展开"Sour ...

  7. QQ粘性效果

    演示如下 QQ粘性效果.zip

  8. react ie10下报错

    解决办法: 加 promise polyfill 参考地址:http://hao.jser.com/archive/12066/

  9. hive外部表自动读取文件夹里的数据

    我们在创建表的时候可以指定external关键字创建外部表,外部表对应的文件存储在location指定的目录下,向该目录添加新文件的同时,该表也会读取到该文件(当然文件格式必须跟表定义的一致),删除外 ...

  10. 恢复被误操作删除的数据 fn_dblog

    -- Script Name: Recover_Deleted_Data_Proc -- Script Type : Recovery Procedure  -- Develop By: Muhamm ...