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()]
[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的技巧集的更多相关文章
- MVC中使用EF的技巧集(一)
		一.建好数据库后,向项目中添加数据模型. 1.右键点击“Models” 文件夹,选择“添加”,再选择“添加新项”. 2.在“添加新项”窗口,选择左边的“数据”,然后再在右边选择“ADO.NET 实体数 ... 
- MVC中使用EF的技巧集(二)——分部验证
		1.从数据库生成模型后,再次更新模型时,之前设置的验证规则会丢失. 解决方法:在Models文件夹中新建一个空白类,把它命名为shujuyanzh.cs(类名可以自定),然后把Models中自动生成的 ... 
- MVC中使用EF(2):实现基本的CRUD功能
		MVC中使用EF(2):实现基本的CRUD功能 By Tom Dykstra |July 30, 2013 Translated by litdwg Contoso University示例网站 ... 
- Spring MVC中@RequestMapping注解使用技巧(转)
		@RequestMapping是Spring Web应用程序中最常被用到的注解之一.这个注解会将HTTP请求映射到MVC和REST控制器的处理方法上. 在这篇文章中,你将会看到@RequestMapp ... 
- 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 ... 
- .NET Core2.0 MVC中使用EF访问数据
		使用环境:Win7+VS2017 一.新建一个.NET Core2.0的MVC项目 二.使用Nuget添加EF的依赖 输入命令:Install-Package Microsoft.EntityFram ... 
- MVC中使用EF增删改查,简单的例子
		//这个是分页数据和总页数类 public class SummaryBase<TModel> { public SummaryBase(); public IList<TModel ... 
- MVC中使用EF+MySQL
		最近一段时间,想在EF中使用MySQL,于是就进行了测试. 我的环境是VS2013+EF6+MySQL5.7.4 首先要下载MySQL For VisualStudio 1.1.4.Connector ... 
- MVC 中使用EF
		EF 1)简单查询 后台代码 using MvcApplication18.Models; using System; using System.Collections.Generic; using ... 
随机推荐
- php实战开发之自我整理(学习笔记)
			PHP没有创建变量的命令,变量会在首次赋值时进行创建. 简单样例 1 <?php $word="My first choice"; $x=5; echo $x; echo & ... 
- js 连续赋值。。理解不了,先占坑
			http://www.cnblogs.com/xxcanghai/p/4998076.html 
- Ubuntu 16.04 64位 搭建 node.js NodeJS 环境
			我的系统环境: Ubuntu 16.04 64位 本文内容亲测可用, 请放心食用 使用淘宝镜像 淘宝镜像官网是https://npm.taobao.org/ 使用淘宝镜像前请自行安装好 npm 和 n ... 
- css中background背景属性概
			css中background背景属性概 background:url(背景图片路径) no-repeat;/*不重复默认在左上方*/background:url(背景图片路径) no-repeat ... 
- 给包含compid列且值为null ,表的行数据赋值--
			IF OBJECT_ID ('dbo.spSelectColValue_In_DB') IS NOT NULL DROP PROCEDURE dbo.spSelectColValue_In_DB go ... 
- jquery 控件赋值
			input 文本框赋值$("#id").attr("赋值"); input 文本框清空$("#id").attr("") ... 
- Logging vs NoLogging
			You Asked My Prod environments is like this. Three Node RAC, Active Data guard enabled. There is a p ... 
- 不会全排列算法(Javascript实现),我教你呀!
			今天我很郁闷,在实验室凑合睡了一晚,准备白天大干一场,结果一整天就只做出了一道算法题.看来还是经验不足呀,同志仍需努力呀. 算法题目要求是这样的: Return the number of total ... 
- SAP 传感器辅助定位
			一.简述 SAP:Sensor Assist Position 传感器辅助定位.高通公司提供的技术方案,旨在提升当卫星信号较差或终端短暂丢失卫星信号时终端的定位能力.该方案可分为三个阶段,第一.二阶段 ... 
- IBatis.Net使用总结(二)-- IBatis返回DataTable/DataSet(网上例子的集合)
			IBatis返回DataTable,DataSet ibatis.net QueryForDataTable 完整的为ibatis.net 引入datatable支持要改动很多地方,所以描述的是最小化 ... 
