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 }

你可能感兴趣的:(store)