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()]
[Display(Name = "档案类型")]
public string 档案类型 { get; set; } [Required(ErrorMessage="此项必填")]
[StringLength()]
[Display(Name = "档案名称")]
public string 档案名称 { get; set; } [Required(ErrorMessage="此项必填")]
[Range(,)]
[Display(Name = "档案页数")]
public int 档案页数 { get; set; } [Required(ErrorMessage="此项必填")]
[Range(, )]
[Display(Name = "原件份数")]
public int 原件份数 { get; set; } [Required(ErrorMessage="此项必填")]
[Range(, )]
[Display(Name = "复印件数")]
public int 复印件数 { get; set; } [Required(ErrorMessage="此项必填")]
[StringLength()]
[Display(Name = "入档人员")]
public string 入档人员 { get; set; } [Required(ErrorMessage="此项必填")]
[Display(Name="入档时间")]
public System.DateTime 入档时间 { get; set; } [Required(ErrorMessage="此项必填")]
[StringLength()]
[Display(Name = "存放柜号")]
public string 存放柜号 { get; set; } [Required(ErrorMessage="此项必填")]
[StringLength()]
[Display(Name = "存放盒号")]
public string 存放盒号 { get; set; } [Required(ErrorMessage="此项必填")]
[StringLength()]
[Display(Name = "存放袋号")]
public string 存放袋号 { get; set; } [StringLength()]
[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、在添加控制器及视图。

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. Android多线程通信机制

    掌握Android的多线程通信机制,我们首先应该掌握Android中进程与线程是什么. 1. 进程 在Android中,一个应用程序就是一个独立的进程(应用运行在一个独立的环境中,可以避免其他应用程序 ...

  2. php5.2.3连接sqlserver2008

    1,下载驱动 下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=20098 我下载的是:SQLSRV20.EXE ,因为我的p ...

  3. 二、CoreAnimation之寄宿图详解

    在之前的图层树中我们知道,可以使用CALayer对象创建一些有背景颜色的图层,其实使用CALayer,不仅可以利用其展示背景颜色,还可以展示图片.而这些展示内容,其实就是CALayer的寄宿图.这一节 ...

  4. windows 8下配置PLSQLDeveloper

    Win 8 64位系统上安装64 位Oracle,但是没有64位的PL/SQL,不能连接Oracle数据库,怎么办呢?方法是有的:我们可以通过安装32位的Oracle客户端来实现连接. 工具/原料 P ...

  5. TFS二次开发系列:三、TFS二次开发的第一个实例

    首先我们需要认识TFS二次开发的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS ...

  6. FTP安装与使用

    1.查看ftp是否已安装:rpm -qa | grep vsftpd 2.安装ftp:rpm -ivh vsftpd 或yum install vsftpd 3.匿名用户配置文件主要参数: anony ...

  7. [MongoDB]安装MongoDB

    汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...

  8. PAT A 1115. Counting Nodes in a BST (30)【二叉排序树】

    题目:二叉排序树,统计最后两层节点个数 思路:数组格式存储,insert建树,dfs遍历 #include<cstdio> #include<iostream> #includ ...

  9. LeetCode: Largest Rectangle in Histogram(直方图最大面积)

    http://blog.csdn.net/abcbc/article/details/8943485 具体的题目描述为: Given n non-negative integers represent ...

  10. MIT 6.828 JOS学习笔记8. Exercise 1.4

    Lab 1 Exercise 4 阅读关于C语言的指针部分的知识.最好的参考书自然是"The C Programming Language". 阅读5.1到5.5节.然后下载poi ...