在Models目录下面,Artist类非常简单,只有两个属性。
注释后代码如下:
/// <summary>
/// 艺术家
/// </summary>
public class Artist
{
/// <summary>
/// 艺术家编号
/// </summary>
public int ArtistId { get; set; }
/// <summary>
/// 艺术家姓名
/// </summary>
public string Name { get; set; }
}
购物车Cart这个类也是非常简单的。唯一有点特别的地方,就是RecordId属性上面加了个Key特性,表明该字段用于表明实体的唯一性。
注释后代码如下:
/// <summary>
/// 购物车
/// </summary>
public class Cart
{
/// <summary>
/// 记录编号
/// 带有主键特性
/// </summary>
[Key]
public int RecordId { get; set; }
/// <summary>
/// 购物车编号
/// </summary>
public string CartId { get; set; }
/// <summary>
/// 相册编号
/// </summary>
public int AlbumId { get; set; }
/// <summary>
/// 数量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public System.DateTime DateCreated { get; set; }
/// <summary>
/// 相册
/// 用于描述购物车与相册之间的关系
/// </summary>
public virtual Album Album { get; set; }
}
类型Genre类也非常简单,只是这个类有partial修饰符表明这个类是个分部类,但是我找了找,暂时没有发现另外的部分在哪里。这里有点奇怪,不太明白写这段代码的人的意思。
注释后代码如下:
/// <summary>
/// 类型(部分类)
/// </summary>
public partial class Genre
{
/// <summary>
/// 类别编号
/// </summary>
public int GenreId { get; set; }
/// <summary>
/// 类别名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 类别描述
/// </summary>
public string Description { get; set; }
/// <summary>
/// 相册列表
/// 描述与该类别相关的相册集合
/// </summary>
public List<Album> Albums { get; set; }
}
音乐商店实体MusicStoreEntityes这个类继承自DbContext。DbContext这个基类是Entity Framework里面的,它支持查询、更改跟踪和保存回数据库的一系列功能。
MusicStoreEntityes类中的属性都是之前声明的Model。其类型为DbSet<T>。DbSet主要用于封装类似对象集,所以可以看成是某类实体的集合。
注释后的代码如下:
/// <summary>
/// 音乐商店实体(类似于模拟整个数据库结构)
/// 继承自DbContext类
/// DbContext 支持查询、更改跟踪和保存回数据库
/// </summary>
public class MusicStoreEntities : DbContext
{
/// <summary>
/// 相册集
/// DbSet 用于封装类似对象集。
/// </summary>
public DbSet<Album> Albums { get; set; }
/// <summary>
/// 类别集
/// </summary>
public DbSet<Genre> Genres { get; set; }
/// <summary>
/// 艺术家集
/// </summary>
public DbSet<Artist> Artists { get; set; }
/// <summary>
/// 购物车集
/// </summary>
public DbSet<Cart> Carts { get; set; }
/// <summary>
/// 订单集
/// </summary>
public DbSet<Order> Orders { get; set; }
/// <summary>
/// 订单详情集
/// </summary>
public DbSet<OrderDetail> OrderDetails { get; set; }
}