zoukankan      html  css  js  c++  java
  • MVC Music Store 在线音乐商店示例分析(5)Order、OrderDetail

    在Models文件夹中,Order.cs中的Order类订单实体。这个类字段稍微多一点其它的没有别的。

    翻译后的代码如下:

    1 /// <summary>
    2 /// 订单 (部分类)
    3 /// 添加特性标记,指定OrderId不允许绑定
    4 /// </summary>
    5   [Bind(Exclude = "OrderId")]
    6 public partial class Order
    7 {
    8 /// <summary>
    9 /// 订单编号
    10 /// 指定类或数据列是否使用基架
    11 /// 基架是基于数据库架构生成网页模板的机制。 ASP.NET 动态数据使用基架生成基于 Web 的 UI,用户可以通过这种 UI 查看和更新数据库。 此类使用 Scaffold 属性在动态数据网站中启用基架。
    12 /// 基架基于数据模型动态显示页面,而不需要物理页面,从而增强了 ASP.NET 页面框架功能。
    13 /// 基架提供了以下功能:
    14 /// 只需少量代码或者不需代码即可创建数据驱动的 Web 应用程序。
    15 /// 可缩短开发时间。
    16 /// 可提供功能(包括显示、插入、编辑、删除、排序和分页功能)齐全的页面。
    17 /// 可基于数据库架构进行内置数据验证。
    18 /// 可提供针对每个外键或针对布尔型字段创建的筛选器。
    19 /// 通过对表示表的类中的相应数据字段对象应用此特性,可以使用此类在数据模型中启用或禁用数据列基架。
    20 /// 参考: http://msdn.microsoft.com/zh-cn/library/system.componentmodel.dataannotations.scaffoldcolumnattribute.aspx
    21 /// </summary>
    22   [ScaffoldColumn(false)]
    23 public int OrderId { get; set; }
    24
    25 /// <summary>
    26 /// 订单创建日期
    27 /// </summary>
    28   [ScaffoldColumn(false)]
    29 public System.DateTime OrderDate { get; set; }
    30
    31 /// <summary>
    32 /// 用户名
    33 /// </summary>
    34 [ScaffoldColumn(false)]
    35 public string Username { get; set; }
    36
    37 /// <summary>
    38 /// 名字
    39 /// (必填、限定最大长度)
    40 /// </summary>
    41 [Required(ErrorMessage = "First Name is required")]
    42 [DisplayName("First Name")]
    43 [StringLength(160)]
    44 public string FirstName { get; set; }
    45
    46 /// <summary>
    47 /// 姓氏
    48 /// </summary>
    49 [Required(ErrorMessage = "Last Name is required")]
    50 [DisplayName("Last Name")]
    51 [StringLength(160)]
    52 public string LastName { get; set; }
    53
    54 /// <summary>
    55 /// 地址
    56 /// </summary>
    57 [Required(ErrorMessage = "Address is required")]
    58 [StringLength(70)]
    59 public string Address { get; set; }
    60
    61 /// <summary>
    62 /// 城市
    63 /// </summary>
    64 [Required(ErrorMessage = "City is required")]
    65 [StringLength(40)]
    66 public string City { get; set; }
    67
    68 /// <summary>
    69 /// 市州
    70 /// </summary>
    71 [Required(ErrorMessage = "State is required")]
    72 [StringLength(40)]
    73 public string State { get; set; }
    74
    75 /// <summary>
    76 /// 邮政编码
    77 /// </summary>
    78 [Required(ErrorMessage = "Postal Code is required")]
    79 [DisplayName("Postal Code")]
    80 [StringLength(10)]
    81 public string PostalCode { get; set; }
    82
    83 /// <summary>
    84 /// 国家
    85 /// </summary>
    86 [Required(ErrorMessage = "Country is required")]
    87 [StringLength(40)]
    88 public string Country { get; set; }
    89
    90 /// <summary>
    91 /// 电话
    92 /// </summary>
    93 [Required(ErrorMessage = "Phone is required")]
    94 [StringLength(24)]
    95 public string Phone { get; set; }
    96
    97 /// <summary>
    98 /// 邮件地址
    99 /// 使用正则表达式约定字符串值
    100 /// </summary>
    101 [Required(ErrorMessage = "Email Address is required")]
    102 [DisplayName("Email Address")]
    103 [RegularExpression(@"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}",
    104 ErrorMessage = "Email is is not valid.")]
    105 [DataType(DataType.EmailAddress)]
    106 public string Email { get; set; }
    107
    108 /// <summary>
    109 /// 总价
    110 /// </summary>
    111 [ScaffoldColumn(false)]
    112 public decimal Total { get; set; }
    113
    114 public List<OrderDetail> OrderDetails { get; set; }
    115 }

    OrderDetail类用于描述订单详情。字段不多,没有什么好说的。

    注释后代码如下:

    1 /// <summary>
    2 /// 订单详情
    3 /// </summary>
    4 public class OrderDetail
    5 {
    6 /// <summary>
    7 /// 订单详情编号
    8 /// </summary>
    9 public int OrderDetailId { get; set; }
    10 /// <summary>
    11 /// 订单编号
    12 /// </summary>
    13 public int OrderId { get; set; }
    14 /// <summary>
    15 /// 相册编号
    16 /// </summary>
    17 public int AlbumId { get; set; }
    18 /// <summary>
    19 /// 数量
    20 /// </summary>
    21 public int Quantity { get; set; }
    22 /// <summary>
    23 /// 单价
    24 /// </summary>
    25 public decimal UnitPrice { get; set; }
    26
    27 /// <summary>
    28 /// 订单详情所关联的相册
    29 /// </summary>
    30 public virtual Album Album { get; set; }
    31 /// <summary>
    32 /// 订单详情所关联的订单
    33 /// </summary>
    34 public virtual Order Order { get; set; }
    35 }
  • 相关阅读:
    软考收获
    寻找她(指令寻址)——(软考六)
    算法探究——(软考四)
    Shell排序——软考(五)
    Java String类源码
    Java 抽象类详解
    Spring IOC Container
    Tomcat的架构
    Spring与Web框架(例如Spring MVC)漫谈——关于Spring对于多个Web框架的支持
    HTML form表单中action的正确写法
  • 原文地址:https://www.cnblogs.com/stevenhqq/p/1969055.html
Copyright © 2011-2022 走看看