MVC中使用EF的技巧集
2015-05-21 14:45
197 查看
1、从数据库生成模型后,再次更新模型时,之前设置的验证规则会丢失。
解决方法:在Models文件夹中新建一个空白类,把它命名为shujuyanzh.cs(类名可以自定),然后把Models中自动生成的模型中的xxxx.tt文件中的与数据库中表同名的.cs中的内容复制到shujuyanzh.cs中并对相关各项添加数据规则。
内容示例如下:
2.然后在Models文件夹中新建一个空白类yanzhengguanli.cs(这里类名可以自定),把自动生成的类删除掉,并加入如下代码,请注意每个类被标记为
这样在你根据数据库更新模型的时候,就不会丢失已经设置了的验证规则,更新以后你需要对新添加的字段在shujuyanzh.cs添加验证规则。好处是显而易见的。
3、在添加控制器及视图。
解决方法:在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、在添加控制器及视图。
相关文章推荐
- MVC3+EF4.1学习系列(九)-----EF4.1其他的一些技巧的使用
- EF使用CodeFirst方式生成数据库&技巧经验
- 使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 6 - 业务逻辑
- 使用 MVC 5 的 EF6 Code First 入门 系列:建立一个EF数据模型
- HttpWatch工具简介及使用技巧 [MVC开发中会用的工具,MVC架构与实战中也有涉及]
- 有关使用MVC+EF实现注册查询功能
- .NET Core2.0 MVC中使用EF访问数据
- 翻译:使用 ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 设计和开发站点 - 5 - 数据库设计
- 关于在ASP.NET MVC 中使用EF的Code First的方式来读取数据库时的Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
- C# MVC EF中匿名类使用
- MVC中使用EF(2):实现基本的CRUD功能
- mvc中使用EF更新
- MVC+EF bootstrap-table使用DataTable遇到问题与解决
- 如何在ASP.NET MVC和EF中使用AngularJS
- ASP.NET MVC中使用AJAX传参技巧
- 如何使用EFCodeFirst模式(mvc 4)从已有数据库方向
- Asp.Net MVC Identity 2.2.1 使用技巧(四)
- Asp.Net MVC Identity 2.2.1 使用技巧(五)
- Asp.Net MVC Identity 2.2.1 使用技巧(八)
- ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项