• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.netmvc常用的数据注解和验证以及entityframework数据映射

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了。

闲话少说,步入正题:

下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会陌生,

在此Model上我们用到了asp.net mvc的数据注解和验证,entity framework对数据库的映射

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.ComponentModel.DataAnnotations.Schema;
 6 using System.ComponentModel.DataAnnotations;
 7 using System.Web.Mvc;
 8 using System.ComponentModel;
 9 
10 namespace SnsModel
11 {
12     [Table("AdminInfo")]
13     public partial class AdminInfo
14     {
15         [Key]
16         [Display(Name = "编号:")]
17         [Column("Id")]
18         public int Id { get; set; }
19 
20         [Required(ErrorMessage = "*不能为空!")]
21         [RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
22         [Column(TypeName = "nvarchar")]
23         [MaxLength(50)]
24         [Display(Name = "用户名:")]
25         ///[Remote("CheckUserName","Account")]
26         public string UserName { get; set; }
27 
28         [Required(ErrorMessage = "*不能为空!")]
29         [RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
30         [Column(TypeName = "nvarchar")]
31         [MaxLength(50)]
32         [MinLength(6)]
33         [Display(Name = "密码:")]
34         [DataType(DataType.Password)]
35         public string PassWord { get; set; }
36 
37         [Column(TypeName = "nvarchar")]
38         [Display(Name = "真实姓名:")]
39         [MaxLength(20)]
40         public string TrueName { get; set; }
41 
42         [Display(Name = "是否可用:")]
43         public bool? IsUseFul { get; set; }
44 
45         [ReadOnly(true)]
46         [Display(Name = "创建时间:")]
47         public DateTime CreatTime { get; set; }
48 
49         [Display(Name = "等级")]
50         public int? Orders { get; set; }
51 
52         [NotMapped]
53         [Required(ErrorMessage = "*不能为空!")]
54         [RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
55         [Display(Name = "新密码")]
56         [DataType(DataType.Password)]
57         public virtual string PassWord1 { get; set; }
58 
59         [NotMapped]
60         [Compare("PassWord1", ErrorMessage = "新密码和确认密码不一致!")]
61         [Required(ErrorMessage = "*不能为空!")]
62         [RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
63         [Display(Name = "确认密码")]
64         [DataType(DataType.Password)]
65         public virtual string PassWord2 { get; set; }
66     }
67 }

上面的代码很简单,在此没有必要过多解释什么。

最近在跟一些群友探讨asp.net mvc+ef的时候,很常见这样的问题,很多人舍弃了mvc的数据注解和验证,为什么呢?一些人可能是不太会,

另一些人是因为用了其他的jquery插件(如easyui),如此导致了一个后果,前台验证了后台没有验证。这将给项目带来很大的危险性,华而不实的项目是没有价值的。

本来在研究了一个月的easyui之后发现,easyui其实跟mvc也是能很好的兼容的。当然最开始的时候,我发现2者的jquery确实是冲突,细细研究整合之后,一切都是很OK的。

 

本来也是菜鸟级别,如言论和代码有什么错误之处,还望大牛们指点,小弟感激不尽。

以下为QQ群广告:

本群提供ASP.NET MVC,EF,LINQ,WEB API技术支持,不在乎人多,在乎人精。
ASP.NET MVC群 171560784  
诚邀各路高手、初学者加入。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap