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

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

内容示例如下:

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.ComponentModel.DataAnnotations;
  6.  
  7. namespace 档案管理.Models
  8. {
  9. public class danganyz
  10. {
  11. [Required(ErrorMessage="此项必填")]
  12. [StringLength()]
  13. [Display(Name = "档案类型")]
  14. public string 档案类型 { get; set; }
  15.  
  16. [Required(ErrorMessage="此项必填")]
  17. [StringLength()]
  18. [Display(Name = "档案名称")]
  19. public string 档案名称 { get; set; }
  20.  
  21. [Required(ErrorMessage="此项必填")]
  22. [Range(,)]
  23. [Display(Name = "档案页数")]
  24. public int 档案页数 { get; set; }
  25.  
  26. [Required(ErrorMessage="此项必填")]
  27. [Range(, )]
  28. [Display(Name = "原件份数")]
  29. public int 原件份数 { get; set; }
  30.  
  31. [Required(ErrorMessage="此项必填")]
  32. [Range(, )]
  33. [Display(Name = "复印件数")]
  34. public int 复印件数 { get; set; }
  35.  
  36. [Required(ErrorMessage="此项必填")]
  37. [StringLength()]
  38. [Display(Name = "入档人员")]
  39. public string 入档人员 { get; set; }
  40.  
  41. [Required(ErrorMessage="此项必填")]
  42. [Display(Name="入档时间")]
  43. public System.DateTime 入档时间 { get; set; }
  44.  
  45. [Required(ErrorMessage="此项必填")]
  46. [StringLength()]
  47. [Display(Name = "存放柜号")]
  48. public string 存放柜号 { get; set; }
  49.  
  50. [Required(ErrorMessage="此项必填")]
  51. [StringLength()]
  52. [Display(Name = "存放盒号")]
  53. public string 存放盒号 { get; set; }
  54.  
  55. [Required(ErrorMessage="此项必填")]
  56. [StringLength()]
  57. [Display(Name = "存放袋号")]
  58. public string 存放袋号 { get; set; }
  59.  
  60. [StringLength()]
  61. [Display(Name = "档案备注")]
  62. public string 档案备注 { get; set; }
  63. }
  64. }

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

  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel.DataAnnotations;
  4. using System.Linq;
  5. using System.Web;
  6.  
  7. namespace 档案管理.Models
  8. {
  9. [MetadataType(typeof(danganyz))]
  10. public partial class dangan { }
  11. }

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

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

MVC中使用EF的技巧集的更多相关文章

  1. MVC中使用EF的技巧集(一)

    一.建好数据库后,向项目中添加数据模型. 1.右键点击“Models” 文件夹,选择“添加”,再选择“添加新项”. 2.在“添加新项”窗口,选择左边的“数据”,然后再在右边选择“ADO.NET 实体数 ...

  2. MVC中使用EF的技巧集(二)——分部验证

    1.从数据库生成模型后,再次更新模型时,之前设置的验证规则会丢失. 解决方法:在Models文件夹中新建一个空白类,把它命名为shujuyanzh.cs(类名可以自定),然后把Models中自动生成的 ...

  3. MVC中使用EF(2):实现基本的CRUD功能

    MVC中使用EF(2):实现基本的CRUD功能 By  Tom Dykstra |July 30, 2013 Translated by litdwg   Contoso University示例网站 ...

  4. Spring MVC中@RequestMapping注解使用技巧(转)

    @RequestMapping是Spring Web应用程序中最常被用到的注解之一.这个注解会将HTTP请求映射到MVC和REST控制器的处理方法上. 在这篇文章中,你将会看到@RequestMapp ...

  5. MVC中使用EF(1):为ASP.NET MVC程序创建Entity Framework数据模型

    为ASP.NET MVC程序创建Entity Framework数据模型 (1 of 10) By  Tom Dykstra |July 30, 2013 Translated by litdwg   ...

  6. .NET Core2.0 MVC中使用EF访问数据

    使用环境:Win7+VS2017 一.新建一个.NET Core2.0的MVC项目 二.使用Nuget添加EF的依赖 输入命令:Install-Package Microsoft.EntityFram ...

  7. MVC中使用EF增删改查,简单的例子

    //这个是分页数据和总页数类 public class SummaryBase<TModel> { public SummaryBase(); public IList<TModel ...

  8. MVC中使用EF+MySQL

    最近一段时间,想在EF中使用MySQL,于是就进行了测试. 我的环境是VS2013+EF6+MySQL5.7.4 首先要下载MySQL For VisualStudio 1.1.4.Connector ...

  9. MVC 中使用EF

    EF 1)简单查询 后台代码 using MvcApplication18.Models; using System; using System.Collections.Generic; using ...

随机推荐

  1. Python的由来

    Python的由来 Python这门语言是由C开发而来. C语言: 代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作 其他语言: 代码编译得到 字节码 ,虚拟机执行字节码并转 ...

  2. Nginx上传文件返回413的解决

    通过http上传文件时返回403 Request Entity Too Large错误时,原因是默认设置的允许上传文件太小,默认是2M,如果上传文件大小大于2M时,那么就会返回413的错误,修改ngi ...

  3. centos6.3安装python2.7, pip2.7, mysql

    参考: https://github.com/h2oai/h2o-2/wiki/Installing-python-2.7-on-centos-6.3.-Follow-this-sequence-ex ...

  4. SQL创建字段信息(表值函数)

    ALTER FUNCTION [dbo].[fnt_SplitString] ( @p1 varchar(Max), ) ) RETURNS @Table_Var TABLE ( c1 varchar ...

  5. 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis

    一个让我崩溃的问题 感谢:http://blog.csdn.net/itlionwoo/article/details/17523371

  6. 【python】确保文件写入结束

    今天遇到了个问题: 我在执行如下代码时发现,文件只写了一半.也就是说,当文件量过大时,下面的代码是不能保证文件被正确写入的. fd = open('test.txt','w') fd.write(&q ...

  7. javascript推荐书籍

    本文转载自http://www.cnblogs.com/zfc2201/archive/2012/07/22/2604236.html感谢作者 WEB前端研发工程师,在国内算是一个朝阳职业,这个领域没 ...

  8. Received an invalid response. Origin 'null' is therefore not allowed access

    Received an invalid response. Origin 'null' is therefore not allowed access. 今天在做二级联动,使用ajax请求xml数据, ...

  9. Gerrit管理帐号

    文档 Gerrit服务器启动后,网站上有一个Documentation链接.点击后会看到四个选项: index,searching,uploading和access control 文档内容很多,不必 ...

  10. 无废话ExtJs 入门教程二十[数据交互:AJAX]

    无废话ExtJs 入门教程二十[数据交互:AJAX] extjs技术交流,欢迎加群(521711109) 1.代码如下: 1 <!DOCTYPE html PUBLIC "-//W3C ...