您的位置:首页 > 其它

MVC中使用EF的技巧集

2015-05-21 14:45 197 查看
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、在添加控制器及视图。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: