zoukankan      html  css  js  c++  java
  • MVC+EF之Attribute

    一、常用Attribute
    DataType,DisplayFormate
    1.打开ModelsàSysUser.cs
    2.添加 public DateTime CreateDate { get; set; }
    3.增加完之后及时使用Code First Migrations 方式更新数据库。(不然运行时会报contex和database不一致的错误)
    Note:
    注意把Migrations Configuration.cs中Seed方法中内容注释掉,因为
    模型变了,插入示例数据时会报一个错误。
    运行 add-migration AddCreateDateToSysUser,update-database即可更新
    更新后随便在数据库中插入两个日期值。
    Code First Migrations 方式更新数据库详细做法参加上篇文章。
    接着修改ViewsAccountIndex.cshtml,把创建日期显示出来
    4.在foreach中添加
    <td>
    @Html.DisplayFor(modelItem=>item.Department.Name)
    </td>
    默认显示的日期显示到具体时间而我们需要的是显示年月日就行了
    5.在Models->SysUser.cs中添加
    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString="{0:yyyy-MM-dd}",ApplyFormatInEditMode=true)]
    {0:yyyy-MM-dd}:显示的具体格式
    二、StringLength属性
    StringLength属性设置了数据库中存储字段的最大长度,为程序提供客户端和服务器端的验证。同样用这个属性也可以指定最小长度,不过不影响数据库的结构。
    在models->SysUser.cs中添加
    [StringLength (10,ErrorMessage ="名字不能超过10个字。")]
    当输入超过十个字符是会提示错误
    三、Column
    这个属性也非常实用。有时会有这么一种情况,我们Model中的字段和数据库中表的字段要用不同的命名。例如我们Model中命名为UserName,数据库表中命名为LoginName.
    在models->SysUser.cs中添加
    [Column("LoginName")]      同样运行更新指令(add-migration  ColumnLoginNameupdate-database)。打开数据库可以看到UserName已经变成LoginName了。
    可以将多个属性写在一块用逗号隔开,例如:
    [Column("FirstName"),Display(Name = "First Name"),StringLength(50, MinimumLength=1)]

  • 相关阅读:
    AngularJS定时器任务
    ssh常用
    HTTPClient模块的HttpGet和HttpPost
    eclipse下设置tomcat,修改Java代码不必重启tomcat
    【转】调试Release发布版程序的Crash错误
    C/C++ 函数压栈方式
    PHP 安全三板斧:过滤、验证和转义之转义篇 & Blade模板引擎避免XSS攻击原理探究
    让 MySQL 支持 emoji 存储
    Laravel 5.1 中创建自定义 Artisan 控制台命令实例教程
    常见的Web实时消息交互方式和SignalR
  • 原文地址:https://www.cnblogs.com/xue-er/p/8012030.html
Copyright © 2011-2022 走看看