zoukankan      html  css  js  c++  java
  • asp.net mvc常用的数据注解和验证以及entity framework数据映射

    终于有时间整理一下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-u9FA5uf900-ufa2dw.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-u9FA5uf900-ufa2dw.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-u9FA5uf900-ufa2dw.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-u9FA5uf900-ufa2dw.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  
    诚邀各路高手、初学者加入。

  • 相关阅读:
    OCP 062【中文】考试题库(cuug内部资料)第13题
    OCP 062【中文】考试题库(cuug内部资料)第12题
    560. 和为K的子数组 力扣(中等) 字节面试题,不会,前缀和,hash,有尺取法的味道
    863. 二叉树中所有距离为 K 的结点 力扣(中等) bfs
    671. 二叉树中第二小的节点 力扣(简单) auto循环set
    1713. 得到子序列的最少操作次数 力扣(困难) 最长公共子序列->最长上升子序列 lower(vector) 得迭代器
    47. 全排列 II 力扣(中等) 手写练习
    328. 奇偶链表 力扣(中等) 链表练习
    21. 合并两个有序链表 力扣(简单) 链表练习
    1743. 从相邻元素对还原数组 力扣(中等) 需要思考但可以做,hash
  • 原文地址:https://www.cnblogs.com/kezhiping/p/3867581.html
Copyright © 2011-2022 走看看