您的位置:首页 > 编程语言 > ASP

asp.net mvc常用的数据注解和验证以及entity framework数据映射

2014-07-25 11:22 567 查看
终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了。

闲话少说,步入正题:

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

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
using System.ComponentModel;

namespace SnsModel
{
[Table("AdminInfo")]
public partial class AdminInfo
{
[Key]
[Display(Name = "编号:")]
[Column("Id")]
public int Id { get; set; }

[Required(ErrorMessage = "*不能为空!")]
[RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
[Column(TypeName = "nvarchar")]
[MaxLength(50)]
[Display(Name = "用户名:")]
///[Remote("CheckUserName","Account")]
public string UserName { get; set; }

[Required(ErrorMessage = "*不能为空!")]
[RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
[Column(TypeName = "nvarchar")]
[MaxLength(50)]
[MinLength(6)]
[Display(Name = "密码:")]
[DataType(DataType.Password)]
public string PassWord { get; set; }

[Column(TypeName = "nvarchar")]
[Display(Name = "真实姓名:")]
[MaxLength(20)]
public string TrueName { get; set; }

[Display(Name = "是否可用:")]
public bool? IsUseFul { get; set; }

[ReadOnly(true)]
[Display(Name = "创建时间:")]
public DateTime CreatTime { get; set; }

[Display(Name = "等级")]
public int? Orders { get; set; }

[NotMapped]
[Required(ErrorMessage = "*不能为空!")]
[RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
[Display(Name = "新密码")]
[DataType(DataType.Password)]
public virtual string PassWord1 { get; set; }

[NotMapped]
[Compare("PassWord1", ErrorMessage = "新密码和确认密码不一致!")]
[Required(ErrorMessage = "*不能为空!")]
[RegularExpression(@"^[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]{6,18}$", ErrorMessage = "*6-18位拼音或数字")]
[Display(Name = "确认密码")]
[DataType(DataType.Password)]
public virtual string PassWord2 { get; set; }
}
}


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

最近在跟一些群友探讨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
诚邀各路高手、初学者加入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: