• 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)]

  • 相关阅读:
    odoo 的各种domain
    odoo search之时间搜索,时间段查询
    git 修改远程仓库地址
    Windows 挂起进程
    结构体 偏移量 (size_t)&(((s *)0)->m) , list相关
    Data Flow Diagram with Examples
    Windows环境,获取当前线程的ID,GetCurrentThreadId
    获取 保存 系统信息 [Windows]
    notepad正则删除关键词所在行
    文件或文件夹改变后,发信号让系统刷新
  • 原文地址:https://www.cnblogs.com/xue-er/p/8012030.html
Copyright © 2020-2023  润新知