zoukankan      html  css  js  c++  java
  • MVC中使用EF的技巧集(二)——分部验证

    1、从数据库生成模型后,再次更新模型时,之前设置的验证规则会丢失。

    解决方法:在Models文件夹中新建一个空白类,把它命名为shujuyanzh.cs(类名可以自定),然后把Models中自动生成的模型中的xxxx.tt文件中的与数据库中表同名的.cs中的内容复制到shujuyanzh.cs中并对相关各项添加数据规则。

    内容示例如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.ComponentModel.DataAnnotations;
    
    namespace 档案管理.Models
    {
        public class danganyz
        {
            [Required(ErrorMessage="此项必填")]
            [StringLength(10)]
            [Display(Name = "档案类型")]
            public string 档案类型 { get; set; }
    
    
            [Required(ErrorMessage="此项必填")]
            [StringLength(100)]
            [Display(Name = "档案名称")]
            public string 档案名称 { get; set; }
    
    
    
            [Required(ErrorMessage="此项必填")]
            [Range(1,500)]
            [Display(Name = "档案页数")]
            public int 档案页数 { get; set; }
    
    
            [Required(ErrorMessage="此项必填")]
            [Range(0, 50)]
            [Display(Name = "原件份数")]
            public int 原件份数 { get; set; }
    
    
    
            [Required(ErrorMessage="此项必填")]
            [Range(0, 50)]
            [Display(Name = "复印件数")]
            public int 复印件数 { get; set; }
    
    
            [Required(ErrorMessage="此项必填")]
            [StringLength(20)]
            [Display(Name = "入档人员")]
            public string 入档人员 { get; set; }
    
    
    
            [Required(ErrorMessage="此项必填")]
            [Display(Name="入档时间")]
            public System.DateTime 入档时间 { get; set; }
    
    
    
            [Required(ErrorMessage="此项必填")]
            [StringLength(10)]
            [Display(Name = "存放柜号")]
            public string 存放柜号 { get; set; }
    
    
            [Required(ErrorMessage="此项必填")]
            [StringLength(10)]
            [Display(Name = "存放盒号")]
            public string 存放盒号 { get; set; }
    
    
            [Required(ErrorMessage="此项必填")]
            [StringLength(10)]
            [Display(Name = "存放袋号")]
            public string 存放袋号 { get; set; }
    
    
            [StringLength(255)]
            [Display(Name = "档案备注")]
            public string 档案备注 { get; set; }
        }
    }

    2.然后在Models文件夹中新建一个空白类yanzhengguanli.cs(这里类名可以自定),把自动生成的类删除掉,并加入如下代码,请注意每个类被标记为partial

    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.Web;
    
    namespace 档案管理.Models
    {
           [MetadataType(typeof(danganyz))]
            public partial class dangan { }
    }

    这样在你根据数据库更新模型的时候,就不会丢失已经设置了的验证规则,更新以后你需要对新添加的字段在shujuyanzh.cs添加验证规则。好处是显而易见的。

    3、在添加控制器及视图。

  • 相关阅读:
    .net注册iis
    hdu 1081To The Max
    hdu 1312Red and Black
    hdu 1016Prime Ring Problem
    hdu 1159Common Subsequence
    hdu 1372Knight Moves
    hdu 1686Oulipo
    hdu 1241Oil Deposits
    hdu 1171Big Event in HDU
    hdu 4006The kth great number
  • 原文地址:https://www.cnblogs.com/chonghanyu/p/4414554.html
Copyright © 2011-2022 走看看