EntityFramework-DBFirst-重新生成后写的验证消失(解决办法)

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 class M_ManagersMetadata
    {
        [Display(Name = "用户名")]
        [Required(ErrorMessage = "*")]
        [StringLength(50, ErrorMessage = "字符长度应在6-50之间", MinimumLength = 6)]
        public string UserName { get; set; }

        [Display(Name = "显示名")]
        [Required(ErrorMessage = "*")]
        [StringLength(50, ErrorMessage = "字符长度应在6-50之间", MinimumLength = 6)]
        public string NickName { get; set; }

        [Display(Name = "密码")]
        [Required(ErrorMessage = "*")]
        [DataType(DataType.Password)]
        [StringLength(50, ErrorMessage = "字符长度应在6-50之间", MinimumLength = 6)]
        public string PassWord { get; set; }

        [Display(Name = "头像")]
        [DataType(DataType.ImageUrl)]
        public string HeadImg { get; set; }

        [Display(Name = "年龄")]
        [Range(10, 120, 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(50, ErrorMessage = "字符长度应在6-50之间", MinimumLength = 6)]
        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(50, ErrorMessage = "字符长度应在6-50之间", MinimumLength = 6)]
        public string UserName { get; set; }
   }
时间: 2024-08-09 22:02:45

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

js代码从页面移植到文件中失效或js代码修改后不起作用的解决办法

最近在做关于网站的项目,总是发生这样的问题 写的javascript代码在页面上没有问题,但是将js代码移植到.js的文件中,在页面上进行调用,总是出现失效等错误 另外修改后的js代码,重新刷新网页仍然不起作用 经过大量搜索并经过验证,可以用下面方法来解决 将js代码封装到js文件中失效的原因可能是js文件中存在中文注释,导致在执行的时候中断,在js文件尽量不要写中文注释 修改后的js代码刷新网页后不起效果可能是因为你所用的浏览器使用缓存的问题,可在浏览器中设置取消使用缓存,并删除临时文件,重启

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

原文:Advanced Installer 打包后,安装包在WIN10下重启后再次运行安装的解决办法 前几个月使用Advanced Installer 打包了一堆安装包,其中有使用默认主题的,也有根据UI设计更改过一些功能的,当时在Windows7下测试没有任何问题,就直接上线给用户使用了. 这两天在禅道上发现指派了一个BUG过来,描述的内容是在Windows10下安装包会出现重启后再次自动运行的问题,见鬼了,没有写过自启动注册表啊,马上打开工程查看,发现了一个很奇怪的现象,下面来介绍. 1.当

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

原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 本人新手,在.Net中写WebAPI的时候,当接口返回的json数据含有日期时间类型的字段时,总是在日期和时间中夹着一个字母T:微软这么设置可能有其内在的初衷,但是对于我来说,这样的格式不是很方便,前端同学展示出来的时候也总是要记得处理一下显示格式.曾经问过部门内一位老鸟,老鸟的反应告诉我这在微软的框架下做json转换是不可避免的:当初一度放弃了这个问题.后来突然冷静分析了一下,微软不可能做

使用SDWebImage加载大量图片后造成内存泄露的解决办法 转载

使用SDWebImage加载大量图片后造成内存泄露的解决办法 时间:2015-07-21 14:26:47      阅读:5885      评论:0      收藏:0      [点我收藏+] SDWebImage的知名度就不用说了,github上近10k的star,国内外太多的App使用其进行图片加载. 但是最近在使用过程中发现,在UITableView中不断加载更多的内容,使用SDWebImage会造成内存占用越来越大,导致memory warning最终terminate,稍微找了下

.Net中使用response.write('js代码')后css失去效果,解决办法。

net中使用response.write输出js会将js放在源代码的最前面,这样就可能出现破坏网页css的效果,让css失去效果 .net中使用Page.ClientScript.RegisterStartupScript(this.GetType(), "", " <script lanuage=javascript>if(confirm('确定要交卷吗?')==false){history.back()}; </script>"); 可以

强力删除Avast后导致系统不断重启解决办法

我使用的是XP系统,Avast版本是7.0.由于avast7.0无法更新病毒库和软件,所以想卸载掉再重装. 问题来了!Avast无法直接卸载!用控制面板的卸载工具和360卸载功能都无法卸载,提示"setup.ovr-应用程序错误".下载新版安装包之后,也无法覆盖,同样提示应用程序错误.最后怒了,用360强力卸载将Avast文件夹直接强力删除了. 重启电脑后,电脑无法进入系统.启动过程中能够看到进度条,然后又重启,反复.尝试进入"安全模式",成功.网上搜索,下载了36

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

js使用history.back返回表单数据丢失的主要原因就是使用了session_start();的原因,该函数会强制当前页面不被缓存.本文章向码农介绍php history.back返回后表单数据丢失的解决办法,感兴趣的码农可以参考一下. 解决办法如下: 在你的 Session_start 函数后加入 header("Cache-control: private"); 注意在本行之前你的PHP程序不能有任何输出. 还有基于session的解决方法,在session_start前加上

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

用ueditor进行编辑文章时,每次编辑后文章前面都会多出一个空行. <script id="editor" type="text/plain" style="width:100%;height:315px"> ${store.summary} </script> 解决办法,将变量和scrpit标签写在同一行. <script id="editor" type="text/plain&q

MyEclipse运行崩溃问题 and 安装pyDev后无法显示的问题 解决办法

1.MyEclipse运行崩溃问题 我的MyEclipse会在我写python程序的时候不定时崩溃,特别是最近越发频繁,上网查询后发现: 由于我使用的jdk是32位的,而本本是64位的系统,从而导致了这种恶心的情况. 解决办法: 删除现有的jdk,去网上找一个64位的jdk,注意不要太低或太高,原因会在后面提及到. 2.安装pyDev后无法显示的问题 由于我被MyEclipse的随机崩溃恶心够了(虽然问题不是出在MyEclipse上),转而下了一个Eclipse-_-|||,并且下了个64位的J