终于有时间整理一下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()]
[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()]
[MinLength()]
[Display(Name = "密码:")]
[DataType(DataType.Password)]
public string PassWord { get; set; } [Column(TypeName = "nvarchar")]
[Display(Name = "真实姓名:")]
[MaxLength()]
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  
诚邀各路高手、初学者加入。

asp.net mvc常用的数据注解和验证以及entity framework数据映射的更多相关文章

  1. ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借

    ASP.NET MVC深入浅出系列(持续更新)   一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模 ...

  2. 数据注解和验证 – ASP.NET MVC 4 系列

           不仅在客户端浏览器中需要执行验证逻辑,在服务器端也需要执行.客户端验证能即时给出一个错误反馈(阻止请求发送至服务器),是时下 Web 应用程序所期望的特性.服务器端验证,主要是因为来自网 ...

  3. 【ASP.NET MVC系列】浅谈数据注解和验证

    [ASP.NET MVC系列]浅谈数据注解和验证   [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google C ...

  4. ASP.NET MVC5(四):数据注解和验证

    前言 用户输入验证的工作,不仅要在客户端浏览器中执行,还要在服务端执行.主要原因是客户端验证会对输入数据给出即时反馈,提高用户体验:服务器端验证,主要是因为不能完全信任用户提供的数据.ASP.NET ...

  5. MVC学习手册之数据注解与验证

    MVC学习手册之数据注解与验证 新建一个MVC5的WEB应用程序,VS2013会自动生成一段代码,以下是Account控制器下Register.cshtml 页面的代码: @model WebAppl ...

  6. MVC中的数据注解和验证

    数据注解和验证 用户输入验证在客户端浏览器中需要执行验证逻辑. 在客户端也需要执行. 注解是一种通用机制, 可以用来向框架注入元数据, 同时, 框架不只驱动元数据的验证, 还可以在生成显示和编辑模型的 ...

  7. J2EE进阶(十三)Spring MVC常用的那些注解

    Spring MVC常用的那些注解 前言 Spring从2.5版本开始在编程中引入注解,用户可以使用@RequestMapping, @RequestParam,@ModelAttribute等等这样 ...

  8. 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图

    如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?

  9. ASP.NET MVC 5 学习教程:通过控制器访问模型的数据

    原文 ASP.NET MVC 5 学习教程:通过控制器访问模型的数据 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连 ...

随机推荐

  1. tachyon with spark

    spark1.2.0  tachyon0.5.0 jdk1.7 scala2.10.4 1.装好spark.tachyon.jdk.scala 2.修改spark-env.sh添加Tachyon客户端 ...

  2. Python练习题 029:Project Euler 001:3和5的倍数

    开始做 Project Euler 的练习题.网站上总共有565题,真是个大题库啊! # Project Euler, Problem 1: Multiples of 3 and 5 # If we ...

  3. Java Script基础(五) 内置对象Date

    在JavaScript中,系统的内置对象有Date对象.Array对象.String对象和Math对象等. 1.Date:用于操作日期和时间. 2.Array:用于在单独的变量名中存储一系列的值. 3 ...

  4. Zend Studio 上 安装使用Aptana插件(html,css,js代码提示功能) .

    最近装了zend studio 9.0 用了段时间发现写html,css,js代码没提示,要开dreamwaver(对js代码提示也不好).就网上搜索了下,发现了Aptana插件,装上用了下,感觉不错 ...

  5. (转)Linux IO模式及 select、poll、epoll详解

    本文为转载,并作了部门调整.修改. [原文出处:https://segmentfault.com/a/1190000003063859] 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么 ...

  6. Shell学习笔记 - Shell变量

    一.变量的命名 变量名必须以字母或下划线开头,由字母.数字.或下划线组成,变量名的长度不能超过255个字符. 二.变量的分类 1. 用户自定义变量 2. 环境变量 3. 位置参数变量 4. 预定义变量 ...

  7. 转: HHVM at Baidu

    评注: 一个项目迁移的问题考虑与实现使用.非常之详细. 转:http://lamp.baidu.com/2014/11/04/hhvm-in-baidu/ 在这之前我们介绍了我们为什么要迁移PHP到H ...

  8. [转]移动App测试中的最佳做法

    Daniel Knott 用过各种不同编程语言和软件质量保证工具.他在软件开发和测试方面干了七年,自2010年起,他一直在德国汉堡的XING AG公司就职,几个项目里,比如XING调查和XING建议, ...

  9. SharePoint - 添加图片到Survey的某一问题之上

    Survey是SharePoint常用功能之一,而曾经被用户多次问到的问题是能否在Survey的某一问题上添加图片,经过查看,SharePoint Survey不提供此方法,只得谷歌之,得一比较懒但又 ...

  10. js中关于数据类型的转换

    * 一.转化为数字*/console.log(‘123123’*1.0); /* 二.从一个值中提取另一中类型的值,并完成转化工作 */console.log(parseInt(‘1233zxhag’ ...