EntityFramework对枚举的引入是从版本5开始的(如果没有记错的话)。枚举可以很大程度上提高对程序的可读性。那么在EntityFramework的CodeFirst模式下,如何使用枚举呢?答案很简单:还是那么用!
看似废话,其实不然,看下面(修改上一篇中用户信息定义):
1 /// <summary> 2 /// 性别枚举 3 /// </summary> 4 public enum Gender 5 { 6 Male, 7 Female 8 } 9 10 public class UserProfile 11 { 12 [Key] 13 [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 14 [Column(Order = 0)] 15 public int UserId { get; set; } 16 17 [Column(Order = 1)] 18 [Required] 19 public string UserName { get; set; } 20 21 [Column(Order = 2)] 22 public string UserCode { get; set; } 23 24 [Column(Order = 3)] 25 public int Status { get; set; } 26 27 [Column(Order = 4)] 28 public string Email { get; set; } 29 30 [Column(Order = 5)] 31 public Gender Gender { get; set; } 32 33 [Column(Order = 6)] 34 public int? CreatorId { get; set; } 35 36 public virtual ICollection<Role> Roles { get; set; } 37 38 public int? AddressId { get; set; } 39 40 [ForeignKey("AddressId")] 41 public Address Address { get; set; } 42 43 public UserProfile() 44 { 45 Gender = Framework.DomainModels.Gender.Male; 46 } 47 }